В начальной загрузке 4 вы можете определить и/или переопределить цвета по умолчанию, используя следующий массив: (как описано здесь)
$theme-colors: (
"primary": #001122, /*override*/
"color-1": red, /*new color*/
"color-2": black, /*new color*/
"color-3": white /*new color*/
);
Я хочу сделать собственные цвета темы для разных пользователей. Пользователи могут выбирать разные цветовые палитры, которые я определил в зависимости от класса тела.
Я создал новый файл для создания своих собственных стилей, определяя цвета моей темы в переменных CSS в теге body:
body {
&.color-pallette-red {
--theme-color-1: red;
--theme-color-2: black;
--theme-color-3: white;
color: var(--theme-color-1); /*red*/
}
&.color-pallette-yellow {
--theme-color-1: yellow;
--theme-color-2: black;
--theme-color-3: white;
color: var(--theme-color-1); /*yellow*/
}
}
Но при этом цвета начальной загрузки, конечно, не перезаписываются...
Я попытался вставить мои CSS-переменные в массив начальной загрузки, упомянутый ранее, чтобы убедиться, что загрузчик использовал мои цвета:
$theme-colors: (
"color-1": var(--theme-color-1),
"color-2": var(--theme-color-2),
"color-3": var(--theme-color-3)
);
Но это возвращает Error: $color2: var(--theme-color-1) is not a color. @return mix($color-base, $color, $level * $theme-color-interval);
Error: $color2: var(--theme-color-1) is not a color. @return mix($color-base, $color, $level * $theme-color-interval);
после запуска скрипта компиляции. Таким образом, загрузчик/компилятор не распознал мои CSS-переменные как цвет...
Подводя итог, я хочу: изменить цвета начальной загрузки в зависимости от класса тела. Кто-нибудь знает способ добиться этого?