Может ли цикл SCSS @each содержать несколько карт?
Я пытаюсь создать цикл SCSS @each, который вызывает цвет из одной карты и непрозрачность из другой карты.
Я обнаружил, что это можно сделать с помощью списков переменных, однако можно ли это сделать с помощью карт?
Пример кода:
$colors: (
red: red,
orange: orange,
yellow: yellow,
green: green,
);
$opacities: (
00: 0.0,
25: 0.25,
50: 0.5,
75: 0.75,
100: 1,
);
@each $color, $opacity in zip($colors, $opacities) {
.bg-#{$color}-#{$opacity} {
@include bg-color-op(#{$color}, #{$opacity});
}
}
@mixin bg-color-op($bg-color, $bg-opacity) {
background-color: rgba($bg-color, $bg-opacity);
}
1 ответ
@each $color-key, $color-value in $colors{
@each $opacity-key, $opacity-value in $opacity {
// Use key values of map to generate desired classes
}
}
Гнездовые циклы для генерации ваших классов.