各浏览器中disabled属性及对应css选择器的差异性

disabled属性只应用在以下元素

BUTTON, INPUT, OPTGROUP, OPTION, SELECT, TEXTAREA

见 HTML 4.01 的 属性表

多数时候我们会遵循标准,不再其它元素上使用该属性。
但部分人没有注意disabled的应用规则,误认为所有元素都可以使用该属性。并且在IE浏览器上生效,得到了证明。

比如:

<label disabled="disabled">启用</label>
<p disabled="disabled">段落</p>
<a href="http://mail.sina.com.cn" disabled="disabled">新浪邮箱</a>

在IE下变灰色了,其它浏览器则仍然是默认黑色。即IE下disabled生效了,这是IE的错误实现,最新的IE9仍然有这个问题。

因此,不要将disabled属性应用在不该应用的元素上。

下面一个关于disabled的css属性选择器,也有类似的情况

label[disabled=""]{color:red;}
<input type="radio" id="uname"/><label for="uname">启用</label>


属性选择器IE6并不支持,IE7以上才支持。label元素没有disabled属性。但在IE8/9下label元素的颜色确实红色。


这个情况曾经发生在邮箱的base.css中..

posted on 2011-04-01 08:15  snandy  阅读(9415)  评论(0编辑  收藏  举报