TL; DR
Можно ли использовать функции SASS для генерации переменных SASS?Я собираюсь взять небольшой набор цветов и обработать их множеством оттенков и оттенков этих цветов.
Проблема:
NB Я использую https://github.com/at-import/color-schemer для цветовых функций.
У меня есть следующие переменные:
$root-color: hsl(10, 85%, 45%);
$red: $root-color;
$vermilion: ryb-adjust-hue($red, 30);
$orange: ryb-adjust-hue($red, 60);
$amber: ryb-adjust-hue($red, 90);
$yellow: ryb-adjust-hue($red, 120);
$chartreuse: ryb-adjust-hue($red, 150);
$green: ryb-adjust-hue($red, 180);
$teal: ryb-adjust-hue($red, 210);
$blue: ryb-adjust-hue($red, 240);
$violet: ryb-adjust-hue($red, 270);
$purple: ryb-adjust-hue($red, 300);
$magenta: ryb-adjust-hue($red, 330);
Для каждого цвета я пытаюсь создать следующий вывод ($red
показано ниже):
$red-10: $red;
$red-01: shade($red-10, 90);
$red-02: shade($red-10, 80);
$red-03: shade($red-10, 70);
$red-04: shade($red-10, 60);
$red-05: shade($red-10, 50);
$red-06: shade($red-10, 40);
$red-07: shade($red-10, 30);
$red-08: shade($red-10, 20);
$red-09: shade($red-10, 10);
$red-11: tint($red-10, 10);
$red-12: tint($red-10, 20);
$red-13: tint($red-10, 30);
$red-14: tint($red-10, 40);
$red-15: tint($red-10, 50);
$red-16: tint($red-10, 60);
$red-17: tint($red-10, 70);
$red-18: tint($red-10, 80);
$red-19: tint($red-10, 90);
Я могу свести это к следующему:
Для каждого $color
:
$red-10: $red;
Для 1 - 9 ($1)
: Создать переменную $#{$color}-0$1: shade($red-10, (100 - ($1 * 10)))
Для 1 - 9 ($1)
: Создать переменную $#{$color}-($1 * 10): tint($red-10, ($1 * 10))
Очевидно, я получаю сообщение об ошибке:
Error: Invalid CSS after "...m 1 through 9 {": expected 1 selector or at-rule, was "#{$color}-$1: shade"
Я изучил использование списков и @append
, но, поскольку у меня есть x цветов, я думаю, мне придется создатьдинамические списки?Это вообще возможно?
Я знаю, что я использую переменную для создания переменной ($#{$color}
) и пытаюсь вывести функцию внутри циклов, и я не уверен, что это дажевозможно с SASS.
Если нет, есть ли лучший рабочий процесс для такого рода вещей?