通过插入变量值来切换样式

时间:2014-03-05 15:53:21

标签: sass

我正在尝试创建一个变量,通过更改它的值来切换样式。

类似的东西:

$style: 1;

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

$color: $color#{style};

.a{
  color: $color;
}

不幸的是结果是:Undefined variable: "$color".

有人可以向我解释为什么这不起作用吗?

1 个答案:

答案 0 :(得分:-1)

似乎在SASS 3.3中添加了此功能

  

当我们发布Sass 3.02时,我们添加了对SCSS的支持,这意味着我们必须实际解析文档中的所有选择器。这意味着您无法在选择器中的任何位置放置父选择器和&。总体而言,这是一个改进:它捕获了更多错误,并鼓励用户编写更灵活的混合。   不幸的是,它也使一个重要的用例更难。随着BEM,OOCSS和SMACSS的普及,人们越来越有兴趣在课堂上添加后缀。当使用Sass时,他们想要编写mixins来做到这一点,以及对&这很难做到。   在Sass 3.3中,我们放松了这些限制。你现在可以写& -suffix(或& _suffix,甚至&后缀,如果你真的想要),Sass将使它工作。如果这不适用 - 例如,如果&是* -Sass将打印一条有用的错误消息。

source