在CSS 3中有这个新的关键字currentColor,正如名称所暗示的那样,它指的是元素的当前颜色值.
现在我想在LESS'- darken(@color,@percentage)function中使用这个关键字.以下内容在LESS编译时抛出错误:
h1 {
color: red;
background-color: darken(currentColor, 75%);
}
Run Code Online (Sandbox Code Playgroud)
错误消息:
undefined_methodError: error evaluating function `darken`:
Object [object Object] has no method 'toHSL'
Run Code Online (Sandbox Code Playgroud)
请忽略所有浏览器尚不支持的事实.任何人都知道如何在LESS中完成这项工作?
从根本上说,这是不可能的.
LESS编译为常规CSS.
任何无法在CSS中表达的行为也无法用LESS表示.
特别是,LESS darken()函数通过在编译时更改颜色来工作.
由于currentColor直到运行时才知道,因此您不能这样做.