!important
CSS是什么意思?
CSS 2中可用吗?CSS 3?
在哪里支持?所有现代浏览器?
!important
CSS是什么意思?
CSS 2中可用吗?CSS 3?
在哪里支持?所有现代浏览器?
Answers:
从本质上讲,它的意思是说。“这很重要,请忽略后续规则,以及所有常见的特异性问题,请应用此规则!”
在正常使用中,外部样式表中定义的规则被head
文档中定义的样式所取代,而样式本身又被元素本身内的内联样式所取代(假设选择器的特异性相同)。用!important
“属性”(?)定义规则将放弃关于“后继”规则优先于“较早”规则的担忧。
同样,通常,更具体的规则将覆盖不太具体的规则。所以:
a {
/* css */
}
通常被以下因素否决:
body div #elementID ul li a {
/* css */
}
由于后一个选择器更具体(通常,在哪里找到更具体的选择器(在head
或外部样式表中)无关紧要,它仍将覆盖次要选择器(行内样式属性将始终覆盖“更多”或“更少”的特定选择器,因为它总是更具体。
但是,如果您将添加!important
到次特定选择器的CSS声明,则它将具有优先级。
使用!important
有其目的(尽管我很难想到它们),但这很像使用核爆炸来阻止狐狸杀死您的鸡。是的,狐狸将被杀死,鸡也将被杀死。和邻里。
这也使调试CSS成为一场噩梦(从个人,经验和经验来看)。
important!
(重要的不是)
!important规则是使CSS级联的一种方法,但也要始终应用您认为最关键的规则。具有!important属性的规则将始终应用,无论该规则出现在CSS文档中的什么位置。
因此,如果您具有以下条件:
.class {
color:red !important;
}
.outerClass .class {
color:blue;
}
具有重要意义的规则将是适用的规则(不包括特异性)
我相信它!important
出现在CSS1中,因此每个浏览器都支持它(部分实现的IE4至IE6,完整的IE7 +)
另外,您也不想经常使用它,因为如果您与其他人一起工作,则可以覆盖其他属性。
!
是某些语言中“ NOT”的象征,但现在更加清楚了。
!important
。CSS与其他语言完全不同,因此很容易忘记如何使用某些东西。
important!
,或者也许是IMPORTANT!
,而不是!important
。我想知道是否有人(可能会读到这本书)知道为什么他们在前面加上标点符号来定义它?显然,现在更改它为时已晚。
按原点排序后,它会影响CSS级联中的排序。它与其他答案中所述的特异性无关。
这是从低到高的优先级:
在此之后,规则仍然需要专门说明。
参考文献:
!important
是级联顺序 developer.mozilla.org/en-US/docs/Web/CSS/Cascade的修饰符(请参阅下表以供参考)。