答案 0 :(得分:47)
对反转颜色有多种解释。
您想要一种颜色相反的颜色:
spin(@color, 180)
您想要一种颜色与当前颜色的总和为白色:
#fff - @color
答案 1 :(得分:0)
不幸的是,Less中没有invert()
功能。
我认为较少功能spin()
在xiaoyi's answer突出显示中会很有帮助。在红色或蓝色(spin(red, 180)
)等“彩色”颜色上使用它,我们得到的是反转色,但是在很深或很浅的颜色上,由于旋转的色相并不多,因此实际上得不到相同的结果。例如spin(#000011, 180)
会编译为颜色#111100,也很暗。
我想在背景较浅的情况下将段落的颜色设置为black
,在背景较暗的情况下将其设置为white
。这是我使用if()
,boolean()
和luma()
的方法:
@bkg-color: #001;
@is-bg-dark: boolean(luma(@bkg-color) > 50%);
.container {
background-color: @bkg-color;
}
p {
color: if(@is-bg-dark, black, white);
}
Read more about Less functions,例如boolean()。
答案 2 :(得分:-5)
我认为没有特定的功能来反转颜色,但你可以做的是将颜色设置为变量。 e.g:
@color1: #666;
@color2: #fff;
body {
background-color: @color1;
color: @color2;
}
h1 {
color: @color2;
}
然后,只需制作一个替代样式表,将反转颜色设置为主样式表中使用的变量。只要你在整个css中使用变量,那些颜色就会被反转。