如何使用css在IE8中更改禁用的html控件的颜色

我试图改变输入控件的颜色,当他们被禁用使用下面的CSS。

input[disabled='disabled']{
  color: #666;     
}

这适用于大多数浏览器,但不适用于IE。 我能够改变任何其他的风格属性,如背景颜色,边框颜色等...只是不是颜色。 任何人都可以解释吗?


不幸的是,如果你使用disabled属性,不管你尝试什么,IE都会默认文本的颜色为灰色,带有一个奇怪的白色阴影......但所有其他样式仍然可以工作。 : - /


我对IE10中的 <select>元素有同样的问题,并且找到了一个仅适用于select元素的解决方案:

http://jsbin.com/ujapog/7/

有一个Microsoft伪元素允许修改文本颜色:

select[disabled='disabled']::-ms-value {
    color: #000;
}

该规则必须独立运行,否则其他浏览器将由于语法错误而忽略整个规则。 请参阅http://msdn.microsoft.com/en-us/library/ie/hh869604(v=vs.85).aspx其他Internet Explorer仅伪元素。

编辑:我认为该规则应该可能是select[disabled]::-ms-value但我没有在我面前的旧版IE版本尝试它 - 重新编辑此段落或添加评论,如果这是一个改进。


无法覆盖disable =“disable”属性的样式。 这里是我的工作来解决这个问题,注意我只是在我的情况下选择提交按钮:

if ($.browser.msie) {
    $("input[type='submit'][disabled='disabled']").each(function() {
        $(this).removeAttr("disabled");
        $(this).attr("onclick", "javascript:return false;");
    });
}

可用示例:http://jsfiddle.net/0dr3jyLp/

链接地址: http://www.djcxy.com/p/89151.html

上一篇: How to change color of disabled html controls in IE8 using css

下一篇: Invalid css style during zooming in calendar