!important
!important是CSS1就定义的语法,作用是提高指定样式规则的应用优先权。默认情况下,CSS规则按级层覆盖,例如在.CSS文件中的定义可以被style标签的定义覆盖,反之则不行。然而,对覆盖平衡而言,加上一个“!important”就优先于正常的CSS规则。
ie7,ie8,firefox,chrome等浏览器下,已经可以识别 !important属性, 但是IE 6.0仍然不能完全识别。! important的样式属性和覆盖它的样式属性单独使用时(不在一个{}里),IE 6.0认为! important优先级较高,否则当含! important的样式属性被同一个{}里的样式覆盖时,IE 6.0认为! important较低!
<style type="text/css">
.demo{ color:red !important; color:green; }
</style>
<div class="demo" style="color:blue">www.baidu.com</div>
在FF下字体为红色、IE6下字体为绿色。说明同一定义下,IE6忽视!important的存在。
<style type="text/css">
.demo{ color:red !important; }
.demo { color:green; }
</style>
<div class="demo" style="color:blue">www.baidu.com</div>
此时在IE6下也为红色, 说明同一定义下,IE6能识别!important的存在。此处的优先级比直接式style标签的级别还高。
鉴于IE6的!important特性,一般用来做区分IE6和Firefox等浏览器的基本Hack手法。