Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sass 通过插值变量值进行样式切换_Sass - Fatal编程技术网

Sass 通过插值变量值进行样式切换

Sass 通过插值变量值进行样式切换,sass,Sass,我试图创建一个变量,通过改变它的值来切换样式 比如: $style: 1; $color1: #f60; $color2: #096; $color: $color#{style}; .a{ color: $color; } 不幸的是,结果是:未定义变量:“$color”。 有人能给我解释一下为什么这不起作用吗?这项功能似乎是在SASS 3.3中添加的 当我们发布Sass 3.02时,我们增加了对SCS的支持,这意味着我们必须实际解析文档中的所有选择器。这意味着您不能在选择器中的任何

我试图创建一个变量,通过改变它的值来切换样式

比如:

$style: 1;

$color1: #f60;
$color2: #096;

$color: $color#{style};

.a{
  color: $color;
}
不幸的是,结果是:
未定义变量:“$color”。


有人能给我解释一下为什么这不起作用吗?

这项功能似乎是在SASS 3.3中添加的

当我们发布Sass 3.02时,我们增加了对SCS的支持,这意味着我们必须实际解析文档中的所有选择器。这意味着您不能在选择器中的任何位置重复父选择器&。总的来说,这是一个改进:它捕获了更多的错误,并鼓励用户编写更灵活的混合。 不幸的是,它也使一个重要的用例变得更加困难。随着BEM、OOCSS和SMACS的流行,人们对在类中添加后缀越来越感兴趣。当使用Sass时,他们希望编写mixin来实现这一点,而对&的限制使得这一点很难做到。 在Sass 3.3中,我们正在放松这些限制。您现在可以编写&-suffix(或者&_suffix,或者如果您真的需要,甚至是&suffix),Sass将使其工作。例如,如果这不适用,If&is*-Sass将打印一条有用的错误消息

可能存在的副本