我尝试过:
:root {
--primary-color: $black
}
$secondary-color = "lighten(%s, 20%)" % var(--primary-color)
(我从这里拿走了:How to use a Stylus variable in calc?)
我没有收到任何错误。但是,$secondary-color
不会呈现任何颜色。
做到这一点的最佳方法是什么?
结果是这样的:
background-color: lighten(var(--primary-color), 20%)
,所以我认为某些渲染效果不好。
答案 0 :(得分:1)
这是行不通的,因为 1. lighten
是一个在编译时执行的预处理器函数,而插值只是通过所有的东西,而 2. lighten
是不应该的完全使用 css 变量,因为它从颜色中提取数值,以便在编译时计算另一种颜色,如果当时不知道 css 变量,那么 3. 在 css 中,这不是甚至可以使用包含完整颜色定义的 css 变量,因此预处理器也不能这样做:为了使颜色混合在运行时工作,您需要像 var(--primary-h)
、{{ 1}} 和 var(--primary-s)
并使用 var-primary-l
分别对值进行操作。