important在CSS中是什么意思?

!important在CSS中是什么意思?

在css2中可用吗?CSS 3 ?

哪里支持它?所有现代浏览器?

699184 次浏览

本质上,它的意思就是它所说的;“这很重要,忽略后续规则,以及任何常见的特异性问题,应用规则!”

在正常使用中,在外部样式表中定义的规则会被文档的head中定义的样式所覆盖,而head又会被元素本身中的内联样式所覆盖(假设选择器的特异性相同)。用!important 'attribute'(?)定义一个规则,就会丢弃关于'较晚'规则覆盖'较早'规则的正常关注点。

此外,通常情况下,更具体的规则将覆盖不那么具体的规则。所以:

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级联中的排序。 这与其他答案中所述的特异性无关

以下是优先级从低到高:

  1. 浏览器的风格
  2. 用户样式表声明(不含!important)
  3. 作者样式表声明(没有!重要)
  4. 重要的作者样式表
  5. 重要的用户样式表

,专一性发生在规则仍然有一个手指在馅饼。

引用: