如何使用LESS将变量声明为!important?

时间:2014-11-11 00:30:22

标签: css less

是否可以使用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)

3 个答案:

答案 0 :(得分:5)

accepted answer对我不起作用(我想这可能是因为版本而已)。

有效的是the workaround mentioned in OP's question itself,我最初没有看到。

万一发生在其他人身上,请尝试以下方法:

// !important doesn't work
@fontColor: #000000 !important;

// !important works!
@fontColor: #000000 ~'!important';

Source

答案 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;
}