scss-@each 指令
·
Yin灏
@each 指令实例
在 @each 变量的定义,其中包含的每个项目的列表中的值。
@each $var in <list or map>
/*
$var: 它代表了变量的名称。 @each规则将 $var 每个项目在列表中使用 $var 值输出样式。
<list 或 map>: 这是 SassScript 表达式这将返回一个列表或映射。
*/
示例:
@each $color in red, green, yellow, blue {
.p_#{$color} {
background-color: #{$color};
}
}
/*
.p_red {
background-color: red;
}
.p_green {
background-color: green;
}
.p_yellow {
background-color: yellow;
}
.p_blue {
background-color: blue;
}
*/
@each多重分配
多个值也可以用 @each 指令中使用。如,$var1, $var2,$var3, ... 在 <list>
@each $var1, $var2, $var3 ... in <list>
/*
$var1, $var2 和 $var3: 这些代表变量的名称。
<list>: 它代表列表的列表,每个变量将持有子列表的元素。
*/
示例:
@each $color, $border in (aqua, dotted), (red, solid), (green, double) {
.#{$color} {
background-color : $color;
border: $border;
}
}
/*
.aqua {
background-color: aqua;
border: dotted;
}
.red {
background-color: red;
border: solid;
}
.green {
background-color: green;
border: double;
}
*/
@each多重分配与映射
多重任务可以很好地处理映射,他们被认为是列表对。如果你想使用映射,那么必须改变@each声明和使用多个任务。
@each $var1, $var2 in <map>
/*
$var1, $var2: 这些代表变量的名称
<map>: 它表示列表对
*/
示例:
@each $header, $color in (h1: red, h2: green, h3: blue) {
#{$header} {
color: $color;
}
}
/*
h1 {
color: red;
}
h2 {
color: green;
}
h3 {
color: blue;
}
*/