Lilly
(Lillian )
12.Сентябрь.2023 12:37:00
1
Может ли кто-то из сведущих гуру кода объяснить, почему это всегда выдает ошибку (независимо от содержимого файла settings.yaml):
.d-header {
background: rgba($header_color, $transparency);
}
а это — нет?
.d-header {
background: rgba(darkslategrey, 0.5);
}
Даже если я изменю код так, чтобы использовать $header_color в формате rgb(47, 79, 79), всё равно возникает ошибка, связанная с элементом $color.
RGJ
(Richard - Communiteq)
12.Сентябрь.2023 12:43:41
2
Это работает для меня?
$header_color: rgb(0,0,0);
$transparency: 0.5;
.d-header {
background: rgba($header_color, $transparency);
}
Lilly
(Lillian )
12.Сентябрь.2023 12:57:08
3
Да, но как только я помещаю переменные в settings.yml вот так, у меня это не работает. Я получаю ошибку: «$color не является цветом», хотя я не использую здесь переменную $color. Поэтому предполагаю, что это может быть связано с интерполяцией, которую я не понимаю.
header_color:
type: string
default: ""
description:
en: "..."
transparency:
type: string
default: ""
description:
en: "..."
По-моему, дело в том, как компилируется CSS. Переменные работают, когда объявлены во время выполнения CSS, но не динамически через отдельный файл settings.yml.
Это тоже не работает:
.d-header {
background: rgba(#{$header_color}, #{$transparency});
}
Canapin
(Coin-coin le Canapin)
12.Сентябрь.2023 13:20:07
4
Привет, Лилли!
Не так давно я столкнулся с той же проблемой.
Короткий ответ: темы и CSS-переменные рассматриваются как строки. Хотя вы можете использовать их в таких атрибутах, как color, background, border и так далее, их нельзя применять в SCSS-функциях цвета.
Проблема не связана с Discourse:
opened 04:47PM - 22 Jan 21 UTC
closed 10:28PM - 27 Jan 21 UTC
I am passing in variables to sass using gulp-sass-variables, which will always i… nject a string.
Unquote doesn't seem to have any effect on my string.
```
$primary: "#ffffff"; // <- Passed in via gulp-sass-variables
$anchor: scale-color(unquote($primary), $lightness: -14%); // Error: $color: #ffffff is not a color.
```
Am I using unquote in the wrong way?
Существует чрезмерно сложный способ обойти это, который я не пробовал: Unquote not working on colour string · Issue #3006 · sass/sass · GitHub
Don
12.Сентябрь.2023 13:54:24
5
Привет, Lilly
Чтобы это работало в настройках, нужно создать переменные на их основе.
Вот быстрый пример:
Contribute to VaperinaDEV/header-transparency development by creating an account on GitHub.
Lilly
(Lillian )
12.Сентябрь.2023 13:58:30
6
Это здорово, спасибо @Don
Canapin
(Coin-coin le Canapin)
12.Сентябрь.2023 13:59:51
7
Это не первый раз, когда я говорю «это невозможно», а ты отвечаешь: «на самом деле возможно», Дон
Наверное, и не последний раз тоже