vue3 使用sass变量

1. 在<style>中使用scss定义的变量和css变量

1. 在@/style/variables.scss文件中定义scss变量

css 复制代码
 // scss变量
$menuText: #bfcbd9;
$menuActiveText: #409eff;
$menuBg: #304156;
// css变量
:root {
  --el-menu-active-color: $menuActiveText; // 活动菜单项的文本颜色
  --el-menu-background-color: $menuBg; // 菜单的背景颜色
  --el-menu-text-color: $menuText; // 菜单的文字颜色
}

2. 在vite.config.ts中引入

  • 以前使用的@import已经被废弃了
javascript 复制代码
  /*引入index.scss文件中的变量*/
  css: {
    preprocessorOptions: {
      scss: {
        additionalData: `@use "@/style/variables.scss" as *;`,
      },
    },
  },

3.使用

  • 暂时发现只能在style中使用,更多使用方法等待慢慢发现
css 复制代码
<style scoped lang="scss">
 .sidebar {
    width: 200px;
    height: 100vh;
    background-color: $menuBg;	
  }
.el-menu-vertical-demo {
  --el-menu-bg-color: var(--el-menu-bg-color);
  --el-menu-active-color: var(--el-menu-active-color);
  --el-menu-text-color: var(--el-menu-text-color);
}
</style>

2. 在标签和<script>中使用scss定义的变量

1. 在@/style/variables.module.scss文件中导出常量

javascript 复制代码
$red: red;
:export {
  fontColor: $red;
}

2. 在vue组件中引入

  • 可以在组件中传递了
javascript 复制代码
<script setup lang="ts">
import fc from '@/style/variables.module.scss'
console.log(fc)
</script>

控制台打印结果:

3. 在标签中使用

html 复制代码
<div :style="{ color: fc.fontColor }">scss变量</div>
相关推荐
用户2788607285676 分钟前
别把 AI 查询结果只塞进聊天框:SessionView 与业务页面接线
前端
程序员鱼皮7 分钟前
Personal Agent 是什么?为什么大厂都抢着做?连 DeepSeek Bot 都来了。。
前端·后端·ai编程
用户44028182780712 分钟前
一个人 + TRAE,从 0 到 1 交付一个政务志愿服务平台的全链路实战
前端
m0_5873830014 分钟前
碰碰好评卡功能落地全流程实战指南 附核心逻辑与常见问题解决方案
java·前端·数据库·后端·struts·需求分析
子轩学长说15 分钟前
Workbuddy独立文件浏览器新上线,彻底告别WPS和office全家桶~
前端
nyaomaru16 分钟前
如何用 Jev 从 PR 中提取 “Why” 并写入 CHANGELOG?🤔
前端·typescript
Shirley~~17 分钟前
从0搭建一个3D立体场景:光影与交互全解析
前端·3d
Dovis(誓平步青云)18 分钟前
一年1956亿行:智能电表场景下的时序数据存储实践
运维·前端·自动化·音视频·prometheus
兰亭妙微UI设计公司18 分钟前
兰亭妙微分享:高手设计登录页的12种切入点
开发语言·前端·javascript
前端Baymax21 分钟前
静默的 86 小时:全链 402 停摆与零告警的故障复盘
开发语言·前端·javascript