我正在使用mdl
,它具有颜色变量设置,如$color-primary: '255, 0, 0' !default;
这让我很难接受那种颜色并使其变亮。
我试过使用unquote()
,但它给了我一个错误:
论证
$color
的lighten($color, $amount)
必须是一种颜色
$color-primary: '255, 0, 0' !default;
$light-accent: lighten(unquote('rgb(#{$color-primary})'), 13.5%) !default;
Run Code Online (Sandbox Code Playgroud)
有什么办法可以将其转换为颜色吗?
这是一个有趣的问题。您在MDL 源代码中发现,它$color-primary
实际上只是一个包含引号的字符串:"63,81,181"
。
这是棘手的部分:MDL 到处都在使用这些字符串。他们实际上并没有以 SASS 理解的方式评估这些颜色。所以这:
unquote('rgb(#{$color-primary})')
Run Code Online (Sandbox Code Playgroud)
不返回 SASSrgb()
实例方法,它只返回一个普通的字符串。
这是很长的说法,我认为你不能做你想做的事。不过,您可以按照格式(来自material.io的照片)使用MDL$palette-indigo
中的其他颜色。$palette-indigo-xxx