!important在CSS中是什么意思?
!important
在css2中可用吗?CSS 3 ?
哪里支持它?所有现代浏览器?
本质上,它的意思就是它所说的;“这很重要,忽略后续规则,以及任何常见的特异性问题,应用这规则!”
在正常使用中,在外部样式表中定义的规则会被文档的head中定义的样式所覆盖,而head又会被元素本身中的内联样式所覆盖(假设选择器的特异性相同)。用!important 'attribute'(?)定义一个规则,就会丢弃关于'较晚'规则覆盖'较早'规则的正常关注点。
head
此外,通常情况下,更具体的规则将覆盖不那么具体的规则。所以:
a { /* css */ }
通常由:
body div #elementID ul li a { /* css */ }
由于后一个选择器更特定(通常情况下,更特定的选择器在哪里(在head或外部样式表中)并不重要),它将仍然覆盖不太特定的选择器(内嵌样式属性将总是覆盖'more-'或'less-',特定的选择器,因为它更特定。
但是,如果将!important添加到不太特定的选择器的CSS声明中,它将具有优先级。
使用!important有它的目的(尽管我很难想到它们),但它很像使用核爆炸来阻止狐狸杀死你的鸡;是的,狐狸会被杀死,但鸡也会被杀死。还有周围的邻居。
这也使得调试CSS成为一场噩梦(从个人、经验和经验来看)。
!important是CSS1的一部分。
支持的浏览器:IE5.5+、Firefox 1+、Safari 3+、Chrome 1+。
它的意思是:
如果周围没有其他重要的事,就用我吧!
不能说得更好。
它改变了css级联的重写优先级的规则。看到CSS2规范。
重要的规则是一种使你的CSS级联的方法 你认为最重要的规则一定要应用。一个规则 important属性将始终被应用,无论在哪里 . rules在CSS文档中出现
所以,如果你有以下情况:
.class { color: red !important; } .outerClass .class { color: blue; }
具有important的规则将是应用的规则(不包括特异性)
我相信!important出现在CSS1中,所以每个浏览器都支持它(IE4到IE6的部分实现,IE7+完整)
另外,它是你不想经常使用的东西,因为如果你和其他人一起工作,你可以覆盖其他属性。
当按原点排序时,它用于影响CSS级联中的排序。 这与其他答案中所述的特异性无关
以下是优先级从低到高:
后,专一性发生在规则仍然有一个手指在馅饼。
引用: