如何覆盖scss变量?

时间:2017-05-04 09:42:16

标签: css variables sass

我目前正在使用materialize.css,我想覆盖默认变量,以便主文件保持不变。我在main 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;

仍然是二级颜色仍然是teal。如何覆盖外部scss文件,如此?

编辑-1:找到解决方案。

$secondary-color: color("teal", "lighten-1") !default;
由于未加载materialize css的color mixin文件,

无效。

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

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

现在有效。

2 个答案:

答案 0 :(得分:0)

见下面的例子

 $secondary-color: color("blue", "darken-1");
 .someClass{
      $secondary-color: color("teal", "darken-1") !important;
      .someClass h2{
            color: $secondary-color;
      }
 }

答案 1 :(得分:0)

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

public string StdNameSetToUpper
{ 
  get { return StdName; }
  set { StdName = value.ToUpper(); }
}

据我所知,SCSS @import '_your-vars'; // your own vars @import '_materialize'; // includes framework vars ... // other modifications 标志:它是一个后备,以前没有任何声明。因此,当您首先导入变量(仅变量,没有其他可能具有依赖关系的修改)时,它将起作用。