!improtant 用法

先看W3C对其说明

提升指定样式规则的应用优先权。
IE6及以下浏览器有个比较显式的支持问题存在,!important并不覆盖掉在同一条样式的后面的规则。

IE6是不识别!important这条语法的,所以,在IE6中,与其在一行的样式将被忽略,IE7+版本是支持的。
所以一个用法出来了:
在IE6及向上版本,提供两种不同的样式。而!important作用就是在这些相同样式中,提高高版本样式的优先性

众所周知,css样式中,对于同一种属性是自上而下应用,即后者会覆盖前者。
示例:

p {
    color = blue;  //将被后者覆盖
    color = red;   //显示红色
}

然而,若是加上了 !important ,情况就不一样了(仅区别IE6与向上版本)。

p {
    color = blue !important;  //IE7+版本显示蓝色
    color = red;  //IE6照旧显示红色
}

另外,因为ID的优先性是高于class的,所以!important的另一个用法,就是强制重定义,另起炉灶,实现自己的样式,而不实现父id的样式。

总结:

  1. 提高优先性,区别对待IE6和IE7+版本浏览器。
  2. 强制重定义,不必遵循父id的原有样式。

猜你喜欢

转载自blog.csdn.net/Zexious/article/details/80061160