下面是我当前发生编译错误的代码。
$color-1: #353a4b;
$color-2: #5563a9;
$color-3: #7184e7;
$color-4: #c788e6;
$color-5: #f76789;
@for $i from 1 through 5 {
.bg-color-#{$i} {
background-color: $color-#{$i};
}
.fg-color-#{$i} {
color: $color-#{$i};
}
}这将给出以下错误
SassError: Undefined variable: "$color-".我想用sass @for来定义动态样式。
.bg-color-1 {
background-color: $color-1;
}
.bg-color-2 {
background-color: $color-2;
}
...有人能帮我吗?提前感谢
发布于 2020-09-12 16:49:07
一个正确的解决方案是map variables,然后使用@each循环来访问它们。科德芬。
$colors: (
color-1: #353a4b,
color-2: #5563a9,
color-3: #7184e7,
color-4: #c788e6,
color-5: #f76789,
);
@each $color in $colors {
$index: index($colors, $color);
$color: nth($color, 2);
.bg-color-#{$index} {
background-color: $color;
}
.fg-color-#{$index} {
color: $color;
}
}https://stackoverflow.com/questions/63862498
复制相似问题