是否可以将变量声明为!importantLESS?目前,我收到以下语法错误.
例如:
@fontColor: #000000 !important;
p {
color: @fontColor;
}
Run Code Online (Sandbox Code Playgroud)
应呈现为:
p {
color: #000000 !important;
}
Run Code Online (Sandbox Code Playgroud)
我知道有一种逃避的方法在这里提到,使用以下内容:
@fontColor: #000000 ~'!important';
Run Code Online (Sandbox Code Playgroud)
很久以前有人谈到将它作为简单的语法实现,就像我的第一个例子一样,只是不确定他们是否做过 - https://github.com/less/less.js/issues/1401
使用Visual Studio 2013(更新4)
该接受的答案并没有为我工作(我想这是由于版本,也许).
OP的问题本身提到的解决方法是有效的,我一开始没有看到.
万一发生在其他人身上,请尝试以下方法:
// !important doesn't work
@fontColor: #000000 !important;
// !important works!
@fontColor: #000000 ~'!important';
Run Code Online (Sandbox Code Playgroud)
我认为您的声明@fontColor: #000000 !important;确实没有任何意义,您要分配什么?一个字符串,一些东西?最合理的是一个字符串,使用时应将其引起引用并转义:
因此,以下代码对我来说似乎是正确的
@fontColor: "#000000 !important";
p {
color: ~"@{fontColor}";
}
Run Code Online (Sandbox Code Playgroud)
我还发现以下代码:
@wrong: red noncolor;
selector {
property: @wrong;
}
@wrongtoo: red !important;
selector {
propertytoo: @wrongtoo;
}
Run Code Online (Sandbox Code Playgroud)
输出:
selector {
property: red noncolor;
}
selector {
propertytoo: red;
}
Run Code Online (Sandbox Code Playgroud)
在两种情况下,编译器(Less v2)均不会引发错误。但是在第二种情况下!important没有在CSS代码中编译。也可以red !noncolor编译成CSS代码。可能!important是某种关键字,但对我而言,目前看来在编译器中没有什么影响。
另请注意,该文档!important在http://lesscss.org/features/#mixins-feature-the-important-keyword中描述了如何与mixins 结合使用