让IE6支持important的注意事项

内容摘要
IE6真的不认识不支持!important吗?答案是:No!

现在举几个例子说明这个问题,以下面的 XHTML 代码为例:

复制代码代码如下:
<ul id="list">
<li class="first">这里是第一
文章正文
IE6真的不认识不支持!important吗?答案是:No!

现在举几个例子说明这个问题,以下面的 XHTML 代码为例:

复制代码
代码如下:

<ul id="list">
<li class="first">这里是第一行文字</li>
<li>那这里就是第二行文字咯</li>
<li>这里应该是第三行里吧</li>
<li>这里绝对是第四行了</li>
</ul>

第一个例子的 CSS 代码:

复制代码
代码如下:

ul{
margin:20px auto;
padding:0;
width:500px;
list-style:none;
line-height:24px;
}
#list li{
color:blue;
}
.first{
color:red !important;
}

在 IE6 里,第一行文字为红色,!important 起作用了。如果 .first 不加 !important ,那么在所有浏览器中第一行都显示蓝色,因为 #list li 的权重比 .fisrt 高。

第二个例子的 CSS 代码:

复制代码
代码如下:

ul{
margin:20px auto;
padding:0;
width:500px;
list-style:none;
line-height:24px;
}
.first{
color:red !important;
}
.first{
color:blue;
}

同上,!important 在 IE6 里起效果了。

再看第三个例子的 CSS 代码:

复制代码
代码如下:

ul{
margin:20px auto;
padding:0;
width:500px;
list-style:none;
line-height:24px;
}
.first{
color:red !important;
color:blue;
}

注意: !important 在 IE6 里就不起效果了。

根据上面例子可以得出这么一个结论:在同一个选择器(即同一个{})内有重复的属性的话,此选择器内的此属性的 !important 在 IE6 里无效。

所以,并不能说 IE6 不支持 !important ,只是支持的不够好。
代码注释

作者:喵哥笔记

IDC笔记

学的不仅是技术,更是梦想!