覆盖Sass变量

4

我有一个Sass文件,其中包含多个导入,如下所示:

@import("variables")
@import("custom-variables")
@import("widgets")
@import("custom-styles")

我声明了一个变量$promoBoxColor,它在variables和custom-variables中都有用到,widgets和custom styles也引用了这个变量。

但我发现,在custom-styles中如果使用这个变量,实际上会使用在variables中定义的颜色,而不是在custom-variables中定义的颜色。

在Sass中可以通过这种方式覆盖变量吗?如果我只是覆盖widgets中使用的颜色,似乎没什么问题。


1
在自定义变量中定义的变量是否设置为默认值?例如:$foo: someval !default - cimmanon
这就是SASS中变量覆盖的工作原理(实际上,导入行为就像将所有文件合并成一个大文件一样,请参阅参考文献)。你确定没有打错字吗?您可能还想发布有关声明和变量使用周围代码结构的信息,例如选择器范围。这可以帮助我们帮助您。 - Alexandre de Champeaux
1个回答

3

感谢回复。发现最好的方法是将核心变量文件中的所有变量设置为!default,然后先声明自定义变量。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接