【发布时间】:2020-07-20 10:31:04
【问题描述】:
我将 css 变量添加到 root 因为我想通过使用 JS 动态更改它
#root {
--primary-color: #4c5b73;
}
$primary-color: var(--primary-color) !default;
.my-component {
background-color: transparentize($primary-color, 0.85);
}
我想使用基本 scss 功能transparentize
或lighter 或darker
但我收到了这个错误
Argument `$color` of `transparentize($color, $amount)` must be a color
如何判断这是一种颜色类型?
更新
【问题讨论】:
-
尝试
:root {}而不是#root {}。#root选择id等于root的元素。这将创建一个作用域块。在此块中声明 CSS 变量将使只有块内的代码可以访问该变量。如果这不起作用,请在:root {}上方创建一个 SCSS 变量$my-color: #fff:并将您的 CSS 变量的值设置为等于 SCSS 变量。 -
@kahn 谢谢!但这不是嵌套问题,我更改了 #root => :root 但同样的错误
-
您可以尝试将
$primary-color: #4c5b73;放在文件顶部并通过——primary-color: $primary-color;声明一个CSS 变量(请原谅任何错误,我不在电脑上). -
@Khan 它将在 css 中生成
---primary-color: $primary-color它不会编译代码 -
@khan Yeap 但是这样,不能通过更改根颜色来更改所有颜色。也许我应该放弃让它成为一个 scss 变量