所以我有一些像这样定义的颜色:
$blue_1 : #ecf5f9;
$blue_2 : #cfe5ef;
$blue_3 : #b1d5e6;
现在我想为每种颜色自动创建.blue_ {number}类。到目前为止,我得到了:
@for $i from 1 through 12{
.blue_#{$i}{
color: $blue_#{$i};
}
}
但'color:$ blue _#{$ i}'不起作用。 如何以其他方式引用变量?!我卡住了。
答案 0 :(得分:1)
你可以做这样的事情
<强> SCSS 强>
$colors : #ecf5f9 #cfe5ef #b1d5e6;
@for $i from 1 through 3 {
h1.blue-#{$i}
{
background-color : nth($colors, $i)
}
}
<强> HTML 强>
<h1 class="blue-1">blue one</h1>
<h1 class="blue-2">blue two</h1>
<h1 class="blue-3">blue three</h1>
<强>样本强>
请参阅demo
答案 1 :(得分:0)
您可以使用for循环执行此操作,如下所示:
$blue_1 : #ecf5f9;
$blue_2 : #cfe5ef;
$blue_3 : #b1d5e6;
@for $i from 1 through 9 {
@if $i == 1 {
$bg_color: $blue1
}
@if $i == 2 {
$bg_color: $blue2
}
.....
.blue#{$i}
background-color: #{!bg_color}
}
该代码应返回如下内容:
.blue1 {
background-color:#ecf5f9;
}
.blue2 {
background-color:#cfe5ef;
}