!important是CSS1就定义的语法,作用是提高指定样式规则的应用优先权。语法格式{ cssRule !important }
{*cssRule !important}这个css规则当今在网页制作的时候的普及已经非常流行了,以前我对它的理解就停留在‘浏览器是否识别阶段’ 而没有真正去研究过,可是现在发生了变化。下面来看几个例子。
例一:
CSS
#Box {
color: red !important;
color: blue;
padding: 30px;
width : 300px;
border:1px solid pink;
}
Html
<div id="Box">
在不同的浏览器下,这行字的色应该不同!
</div>
那么在支持该语法的浏览器,如Firefox、Opera、Chrome中,能够理解!important的优先级,字体颜色显示red颜色,而在IE中则显示blue。因为IE浏览器不识别!important,非IE浏览器识别!important,且!important优先级较高。那么再看下面的例子,只是把CSS样式里面的color属性交换下顺序,Html代码部分不变,会出现什么样的情况呢?
CSS
#Box {
color: blue;
color: red !important;
padding: 30px;
width : 300px;
border:1px solid pink;
}
那么在这样的情况下,无论是 IE浏览器和非IE浏览器识别下,字体颜色都显示red颜色。虽然IE浏览器不识别!important,但是它识别这句 "color: red !important;" 中的 color:red。因此在IE下,浏览器先识别出"color:blue",然后识别出"color: red !important;" 中的 color:red,因此覆盖了前面的"color: blue",所以最后字体颜色都显示出来就是red了。