vue 设置全局变量的颜色

版本 vue cli 2.6.0

方式1:

在工程根目录下,创建 vue.config.js

内容如下:

module.exports = {
  css: {
    loaderOptions: {
      // 给 sass-loader 传递选项
      sass: {
        // 所以这里假设你有 `src/variables.scss` 这个文件
        data: `@import "@/style/variables.scss";`
      }
    }
  }
}

 

variable.scss 内容

// 颜色
$color-red:red;
$color-yellow: yellow;
$color-white: white;
$color-light-gray: #F5F5F5;
$c-side-deep:#1f2d3d;

// 文字


// 其他

使用:

color: $color-white;

方式2:

不使用vue.config.js,直接再APP.vue 中引入 variable.scss

### 如何在 Vue设置和使用全局 CSS 变量 #### 配置全局 CSS 变量 为了使全局 CSS 变量能够在整个 Vue 项目中生效,可以通过多种方式实现。以下是几种常见的方法: 1. **通过 `:root` 定义全局变量** 在项目的入口文件(如 `index.html` 或 `main.css`)中定义全局 CSS 变量: ```css :root { --primary-color: #007bff; --secondary-color: #6c757d; } ``` 这种方式适用于简单的项目结构,可以直接在整个应用中访问这些变量。 2. **Vite/Vue CLI 的配置** 如果使用 Vite 构建工具,则可以按照如下方式进行配置[^4]: ```javascript import { defineConfig } from 'vite'; export default defineConfig({ css: { preprocessorOptions: { scss: { additionalData: '@import "./src/styles/common.scss";', }, }, }, }); ``` 上述代码会在每个 SCSS 文件编译时自动注入指定的全局样式文件 `common.scss`,从而使得其中定义变量成为全局可用。 3. **动态修改全局变量** 使用 JavaScript 动态调整全局 CSS 变量的值也是可行的。例如,在某个事件触发后更改主题颜色: ```javascript document.documentElement.style.setProperty('--themeColor', '#ff5722'); ``` 此外,还可以结合 Vue 组件的状态管理来控制变量的变化[^3]。 #### 使用全局 CSS 变量 一旦设置全局 CSS 变量,就可以轻松地在任意组件内部调用它们。下面是一个具体的例子展示如何利用这些变量设计页面布局: ```html <template> <div class="container"> <h1 :style="{ color: getPrimaryColor }">Hello World</h1> <p>Paragraph with secondary color.</p> </div> </template> <script> export default { computed: { getPrimaryColor() { return window.getComputedStyle(document.documentElement).getPropertyValue('--primary-color').trim(); }, }, }; </script> <style lang="scss"> .container { background-color: var(--primary-color); } p { color: var(--secondary-color); } </style> ``` 上述模板不仅展示了静态样式的运用,还体现了借助计算属性获取当前 CSS 变量的实际数值的能力。 --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值