#div p {
color: red !important;
}
...
#div p {
color: blue;
}
我理解!important
是如何工作的,在这种情况下,div会呈现红色,因为它现在具有优先级(!important)。但我仍然无法找到适当的情况来使用它。有人知道!important
节省一天的任何例子吗?
答案 0 :(得分:15)
考虑一下:
#someElement p {
color: blue;
}
p.awesome {
color: red;
}
如何使awesome
段始终变为红色,即使是#someElement
内的段落也是如此?没有!important
,第一条规则将具有更多的特异性,并将战胜第二条规则。
答案 1 :(得分:11)
仅作为最后的手段!这是因为一旦使用它很难覆盖它。我的经验法则是:
答案 2 :(得分:3)
!important
可以节省您不控制HTML输出并呈现style=''
属性的情况。想想ASP.NET和其他框架。
然后,您可以更改此样式的唯一方法是使用javascript或将CSS规则标记为更重要。
答案 3 :(得分:1)
此外,IE6 / 7中忽略!important
。因此,您可以将其用作IE6/7 hack。
答案 4 :(得分:1)
!important在您使用其他人的代码时非常有用,并且无法通过使用更具体的选择器来覆盖效果。当我被要求进入并将页面或一小组页面添加到现有站点时,我必须包含现有样式表,但无法编辑它们(因为缺少访问权限或因为涓滴效果会打破其他事情),那就是!重要的是派上用场。否则,您应该使用选择器特异性来覆盖行为。
答案 5 :(得分:0)
如果你的页面包含多个CSS文件,你编写的CSS,以及与其他方编写的软件一起使用的附加CSS,你可能需要一些标记的CSS!重要的是“保证”它不会被CSS覆盖来自其他包含的文件。
答案 6 :(得分:0)
除非您先尝试过其他所有内容,否则不要使用!important声明,并记住任何缺点。如果您确实使用它,那么在可能的情况下,在您的CSS中将注释放在任何被覆盖的样式旁边可能是有意义的,以确保更好的代码可维护性。