У меня есть сменная цветовая палитра.
$blue, $green, $red, $purple, ...
Я сливаю это и создаю карту;
$colors: ();
$colors:
map-merge(
(
"grey": $grey,
"blue": $blue,
"violet": $violet,
"purple": $purple,
"pink": $pink,
"red": $red,
"orange": $orange,
"yellow": $yellow,
"olive": $olive,
"green": $green,
"teal": $teal
),$colors
);
Я написал функцию для их вызова,
@function color($key: "blue") {
@return map-get($colors, $key);
}
И я использую функцию уровня цвета начальной загрузки (для вариантов): которая генерирует цветовые тона, которые становятся светлее и темнее с помощью черно-белых изображений.
@function color-level($color-name: "blue", $level: 0) {
$color: color($color-name);
$color-base: if($level > 0, $black, $white);
$level: abs($level);
@return mix($color-base, $color, $level * $color-interval);
}
Я установил варианты уровней на одной карте.
$levels: ();
$levels:
map-merge(
(
"100": -8,
"200": -6,
"300": -4,
"400": -2,
"500": 0,
"600": 2,
"700": 4,
"800": 6,
"900": 8
),$colors
);
Теперь мне нужно создать новую карту вариантов с colors()
и levels()
.Как следующий код карты:
$color-variants :
[
"grey-100": $grey-100,
"grey-200": $grey-200,
"grey-300": $grey-300,
...
"blue-100": $blue-100,
"blue-200": $blue-200,
"blue-300": $blue-300,
...
...
...
]
, но все методы, которые я попробовал, не сработали ... как объединить это?
Это работает в @each, но мне нужны статические переменные.
Мой окончательный код: Codepen