!important主要用于提升指定样式规则的优先级。例如:
div{
color:red!important;
color:blue;
}
因为后面的blue会覆盖前面的red,结果应该显示蓝色字,但是因为我们在red上加了!important,提升了red的优先级,所以结果显示为红色字。
!important是出现在css标准里的,在IE6以上以及chrome、safari浏览显示的是红色,但是以上css在IE6中显示的确是蓝色,。
因此很多人将!important视作识别IE6的hack,但其实这是个误区。!important常常被我们用来更改样式,而并不是兼容hack。IE6只是在某些情况下不主动识别!important,请注意,只是某些情况下。
IE6下,同一个大括号里对同一个样式属性定义,其中一个加!important,则!important是被忽略的,如刚刚的例子。
但是,如果同一个样式,不是定义在同一个大括号内,!important是可以正常发挥作用的。
div{
color:red!mportant;
}
div{
color:blue;
}
在所有的浏览器中都会显示红色字。