【问题标题】:sass: overwrite one var with anothersass:用另一个覆盖一个var
【发布时间】:2017-02-16 18:54:39
【问题描述】:

我们已经像

一样设置了 sass 变量文件

scss\variables\_custom_variables.scss

其中,当然包含诸如

之类的东西

$link-color: $00f;

然后在我们的 sass 文件中使用,像这样设置导航为scss\main\_main_nav.scss,我们有类似的规则

a {color: $link-color;}

现在我们有了一个允许自定义样式的新功能,它可以引入变量以及 scss\main\ 中的所有内容。代替创建类似

的东西

scss\main_2\_main_nav.scss 无限

我希望能够重新定义$link-color

我希望我可以简单地创建 scss\new_file\_variables.scss 并拥有一个覆盖列表,例如

$link-color: #36c;

但这并没有按预期工作。我还能做得更好吗?

谢谢大家

【问题讨论】:

  • 我不这么认为:在全局中,我正在设置我的变量,并且当时我正在使用!default。但是,我们将开始创建不同的配色方案,我想重新定义这些变量以代替新规则。:global.scss: $primary-color: red !default; 然后custom.scss: $primary-color: blue; 尽管尊重堆栈顺序,但继续编译:@987654334 @

标签: variables sass overriding redefine


【解决方案1】:

您可以使用默认标志定义基本变量:$var1: lightblue !default;

并使用$var1: red;在主题中覆盖它们

如果您以正确的顺序@import 变量文件,red 将覆盖lightblue

https://webdesign.tutsplus.com/articles/understanding-variable-scope-in-sass--cms-23498

【讨论】:

  • 很好的链接。谢谢。将调查范围是一个问题。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-03-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-07-12
相关资源
最近更新 更多