我正在使用 mdl
,其中有颜色变量设置,如 $color-primary: '255, 0, 0' !default;
这让我很难接受那种颜色并使其变亮。
我试过使用 unquote()
,但它给了我一个错误:
Argument
$color
oflighten($color, $amount)
must be a color
$color-primary: '255, 0, 0' !default;
$light-accent: lighten(unquote('rgb(#{$color-primary})'), 13.5%) !default;
有什么办法可以将其转换为颜色吗?
最佳答案
这是一个有趣的问题。您已在 MDL source 中找到那个$color-primary
实际上只是一个包含引号的字符串:"63,81,181"
.
这是棘手的部分:MDL 到处都在使用这些字符串。他们实际上从未以 SASS 理解的方式评估这些颜色。所以这:
unquote('rgb(#{$color-primary})')
不返回 SASS
rgb()
instance method ,它只返回一个普通的 ol' 字符串。这是一个很长的说法,我认为你不能做你想做的事。您可以使用 MDL
$palette-indigo
中的其他颜色但是,格式为 $palette-indigo-xxx
(照片来自 material.io)。关于colors - Sass 将字符串转换为颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46308709/