我应该避免在CSS中使用!important吗?

有时!important是有用的,例如,如果我为网站上的所有链接(例如选择器a)定义了通用样式,但是当我要覆盖某些规则时,可以有以下选择:

  • 使用更具体(更长)的选择器
  • 采用 !important

哪种方法更好,可能有一些指导原则?

回答:

使用!important非常,非常谨慎-

它会覆盖刚才的一切,甚至是内联样式和混乱在低于显而易见的方式与样式规则“梯级”,让CSS的名字。它很容易使用不当,而且容易成倍增加,尤其是在滥用时。您可以轻松地!important得出一个带有要覆盖的规则的元素,这时您通常不得不重构样式,或使用另一个!important规则来加剧问题。

一旦它散布并且可以在任何地方使用它,您将回到没有它的情况下(很难指定足够具体的元素来覆盖其他样式),但是您也没有更多的!important原因了其他所有东西也在使用它。

面对!important看起来很有吸引力的情况-或更糟的是,它已经在使用和传播了-

如果可以的话,宁愿重构CSS。(坦白说,如果您需要!important用户样式表之外的内容,通常是因为选择器已经太具体了,和/或您没有利用CSS中的C。)最好定义基本样式尽可能靠近htmlbody元素,并且要覆盖时,请尽量避免使用特殊性。这样,您就有足够的空间进行更改。通常,您有一个要覆盖样式的原因,这些情况经常可以归结为类名,页面的特定部分(请参阅:特定的父元素)等。

(唯一真正想到的例外是,您要覆盖的样式是否确实超出了您的控制范围。(例如,如果您使用的框架对页面的外观有很强的见解,那么您可能会发现它很烦人。很难覆盖任何东西。我使用的是实际上插入了自己的内联样式的应用程序,其中只有一条!important规则可以覆盖它们。)如果您没有对代码的完全访问权限,则覆盖和重构很容易比它们是值得的。!important只要您知道后果,就可以用来收回一些控制权。)

以上是 我应该避免在CSS中使用!important吗? 的全部内容, 来源链接: utcz.com/qa/406563.html

回到顶部