css - 使用 SASS for 循环定义变量颜色

标签 css loops for-loop sass

所以我有一些颜色定义如下:

$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}' 不起作用。 我怎样才能以另一种方式引用变量?!我卡住了。

最佳答案

你可以这样做

Source for the function nth

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

关于css - 使用 SASS for 循环定义变量颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16585390/

相关文章:

html - CSS渐变产生虚线

css - webpack + sass-loader : Invalid CSS after "...-width: $small)": expected "{", 是 ";"

php - 如何循环遍历数据行以显示多个结果?

css - bootstrap 3 按钮组突出显示第 n 个 child

javascript - Typescript 数组求和而不是串联

Java 生命游戏 - 递归 - 提示用户输入文件名和运行代数

for-loop - 如何使用 DrawerHeader 和 ListView.builder 构建抽屉

python - 使用列表理解进行多个操作的嵌套 for 循环

C for 循环与 rolled out 循环有不同的效果

html - 使子 div 适合其父级宽度的跨浏览器方法