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 ,只是支持的不够好。
现在举几个例子说明这个问题,以下面的 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 ,只是支持的不够好。