是否可以使用LESS将变量声明为!important
?目前,我收到以下语法错误。
例如:
@fontColor: #000000 !important;
p {
color: @fontColor;
}
应呈现为:
p {
color: #000000 !important;
}
我知道使用以下内容提到HERE有一种逃避方式:
@fontColor: #000000 ~'!important';
很久以前有人谈到将它作为简单的语法实现,就像我的第一个例子一样,只是不确定他们是否做过 - https://github.com/less/less.js/issues/1401
使用Visual Studio 2013(更新4)
答案 0 :(得分:5)
accepted answer对我不起作用(我想这可能是因为版本而已)。
有效的是the workaround mentioned in OP's question itself,我最初没有看到。
万一发生在其他人身上,请尝试以下方法:
// !important doesn't work
@fontColor: #000000 !important;
// !important works!
@fontColor: #000000 ~'!important';
答案 1 :(得分:4)
我认为你@fontColor: #000000 !important;
的声明确实没有意义,你指的是什么?一个字符串,一个列表的东西?
最合理的是一个字符串,在使用时应引用并确实转义:
因此,以下代码似乎是正确的(对我而言)
@fontColor: "#000000 !important";
p {
color: ~"@{fontColor}";
}
我还发现了以下代码:
@wrong: red noncolor;
selector {
property: @wrong;
}
@wrongtoo: red !important;
selector {
propertytoo: @wrongtoo;
}
输出:
selector {
property: red noncolor;
}
selector {
propertytoo: red;
}
编译器(Less v2)在两种情况下都不会引发错误。但在第二种情况下,!important
未在CSS代码中编译。另外red !noncolor
编译成CSS代码。可能!important
是某种关键字,但对我而言,它现在似乎是inconsequence in the compiler。
另请注意,文档描述了如何在http://lesscss.org/features/#mixins-feature-the-important-keyword
使用!important
和mixin
答案 2 :(得分:-2)
正确的方法是
@fontColor: "#000000 ";
p {
color: @fontColor !important;
}