基于类的sass @if语句

时间:2014-01-23 17:50:53

标签: sass

我可以以某种方式利用sass中的静态类来根据定义的颜色变量设置子元素的样式吗?

假设我有一个名为red的类,我想基于该类定义一个名为$color: classname;$color: #ff0000;的变量。

如果class为红色,那么使用自定义颜色定义一个现有变量,这样我就可以根据我在容器上的类来重复使用scss文件中的任何变量。

请注意,我需要的颜色数量有限,并且可以在sass中定义它们。

3 个答案:

答案 0 :(得分:3)

这是你要找的吗?

$colors : (red, blue, green); // array of colors

@each $color in $colors {     
    .#{$color} {  
       color: $color;
    }
}

上述SASS的输出是

.red { 
   color: red;
}

.blue { 
   color: blue;
}

.green { 
   color: green;
}

答案 1 :(得分:0)

如果我理解你的问题是正确的你可以使用红色类并在需要时扩展这个类。

$red: #FF0000;

.red {
  color: $red;
}

.div {
  @extend .red;
}

答案 2 :(得分:0)

我相信你要做的是:

在名为“base.scss”的示例文件中:

$red: red;/*this could be a HEX, RGB, whatever*/
@import "other"

在名为“other.scss”的示例文件中:

div
{
    color: $red
}