css - 如何覆盖scss变量?

标签 css variables sass

我目前正在使用materialize.css,我想覆盖默认变量,以便主文件保持不变。我在我的主 stylesheet.scss 中尝试的就像

@import '_materialize';
@import '_modified';
@import '_new';

在我的_modified文件中我设置

$secondary-color: color("blue", "darken-1");

在materialize.scss中,_variable.scss已导入(默认框架文件),其中辅助颜色值为

$secondary-color: color("teal", "lighten-1") !default;

辅助色仍然保持青色。如何使用像这样的外部 scss 文件覆盖?

Edit-1:找到解决方案。

$secondary-color: color("teal", "lighten-1") !default;

由于未加载 Materialize CSS 的颜色混合文件而无法工作。

在modified.scss中的@import "materialize/components/color";之后,然后

$secondary-color:color("teal", "lighten-5");

现在可以工作了。

最佳答案

首先导入您的变量(不是最后):

@import '_your-vars'; // your own vars
@import '_materialize'; // includes framework vars
... // other modifications

据我了解 SCSS !default 标志:这是一个后备,之前没有声明任何内容。因此,当您首先导入变量(仅导入变量,没有可能具有依赖项的其他修改)时,它将起作用。

关于css - 如何覆盖scss变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43779301/

相关文章:

html - Safari 中的页脚问题

html - 如何使用线性渐变指定颜色渐变开始的高度

python - 当我只想从一个变量中删除元素时,.remove() 正在从两个变量(列表)(我将其设置为彼此相等)中删除元素

variables - 将静态变量的初始值的 doxygen 复制到\file block

html - 如果大小大于父级,则动态转移到下一行

css - SASS - 字体不适合正确的路径

javascript - 单击按钮时不调用 Jquery

html - 如何使用css在两个选项框之间画一条垂直线

Bash 脚本比较两个日期变量

css - 左边框是分离/破损的布局,布局居中