可能重复:
What are the implications of using “!important” in CSS?
How do you read !important in CSS?
!important
在CSS中意味着什么?
CSS 2中是否可用? CSS 3?
支持哪里?所有现代浏览器?
答案 0 :(得分:364)
基本上,它意味着它所说的; “这很重要,忽略后续规则,以及任何常见的特殊问题,应用此规则!”
在正常使用中,外部样式表中定义的规则被文档的head
中定义的样式否决,而该样式又被元素本身内的样式所取代(假设相等)选择者的特异性)。使用!important
'属性'(?)定义规则会丢弃关于覆盖'较早'规则的'后来'规则的正常问题。
此外,通常,更具体的规则将覆盖不太具体的规则。所以:
a {
/* css */
}
通常被否定:
body div #elementID ul li a {
/* css */
}
由于后一个选择器更具体(并且它通常不重要,找到更具体的选择器(在head
或外部样式表中),它仍然覆盖不太具体的选择器(内联样式属性总是覆盖'more-'或'less-'特定选择器,因为它的总是更具体
但是,如果您将!important
添加到不太具体的选择器的CSS声明中,它将具有优先权。
使用!important
有其目的(尽管我很难想到它们),但这就像使用核爆炸阻止狐狸杀死你的鸡一样;是的,狐狸会被杀死,但鸡也会被杀死。和邻居。
它还使调试你的CSS成为一场噩梦(来自个人,经验,经验)。
答案 1 :(得分:122)
!important规则是一种制作CSS级联的方法,但也有 你觉得最重要的规则总是适用。有规则 无论在哪里,都会应用!important属性 规则出现在CSS文档中。
所以,如果您有以下内容:
.class {
color:red !important;
}
.outerClass .class {
color:blue;
}
重要的规则将是应用的规则(不计算specificity)
我相信{1}出现在CSS1中,所以每个浏览器都支持它(IE4到IE6部分实现,IE7 +全部)
此外,这是您不想经常使用的东西,因为如果您与其他人合作,您可以覆盖其他属性。
答案 2 :(得分:21)
!important
是CSS1的一部分。
支持它的浏览器:IE5.5 +,Firefox 1 +,Safari 3 +,Chrome 1 +。
这意味着:
如果周围没有其他任何重要内容,请使用我!
不能说它更好。
答案 3 :(得分:10)
用于在按原点排序时影响CSS级联中的排序。 它与其他答案中所述的特异性无关。
以下是从最低到最高的优先级:
之后,对于仍然有一个手指的规则,特殊性就会发生。
参考文献:
答案 4 :(得分:6)
它改变了css级联的覆盖优先级规则。请参阅the CSS2 spec。