如何在LESS中使用"currentColor"CSS 3关键字?

con*_*exo 1 css css3 less

在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中完成这项工作?

SLa*_*aks 8

从根本上说,这是不可能的.

LESS编译为常规CSS.
任何无法在CSS中表达的行为也无法用LESS表示.

特别是,LESS darken()函数通过在编译时更改颜色来工作.
由于currentColor直到运行时才知道,因此您不能这样做.