LESS:使元素上已设置的颜色变暗

时间:2014-07-17 09:25:37

标签: css less

刚开始使用LESS,这太棒了。我想知道,是否有可能使任何颜色变暗。

我的网站上有几个主题,当链接处于活动状态时,我会添加一个“活动”类,这会使颜色和背景变暗。

这样的事情是可能的:

.active{
   background:darken(10%);
}

无需指定背景颜色......

2 个答案:

答案 0 :(得分:3)

变暗(与其他函数一样)需要2个参数。首先是颜色,第二是改变它的数量。 见http://lesscss.org/functions/#color-operations-darken

由于LESS只是css的预处理器(它创建了css),你想要的东西是行不通的。 CSS无法获取元素的颜色,然后使用它。

虽然LESS使用JS来处理较少的文件并创建css,但这通常不会发生在客户端。在生产中,您只需创建一次css文件即可。

如果你真的无法知道颜色是什么,你可能想找一个客户端的js解决方案。

答案 1 :(得分:1)

你可以尝试:

.active{ background:lighten(-10%); }

不确定这样做是否有效,可能更好的方法是使用:

.active{ filter: brightness(0.1); -webkit-filter: brightness(0.1); -moz-filter: brightness(0.1); -o-filter: brightness(0.1); -ms-filter: brightness(0.1); }

(使用0.1值来获得所需的效果)