在 HTML 中禁用样式 <select>(下拉框)

新手上路,请多包涵

我们的一位客户很难阅读我们基于 Web 的应用程序中禁用控件中的灰色文本:

IE9例子

我们想将样式更改为浅灰色背景和黑色文本。不幸的是,大多数浏览器(包括客户正在使用的 IE)会忽略禁用控件上的 color: ... CSS 属性,因此我们无法更改前景色。

对于文本框 ( input type="text" ),可以使用 readonly 而不是 disabled 属性轻松解决。不幸的是,这不是下拉菜单( select )或复选框( input type="checkbox" )的选项。

有一个简单的解决方法吗?最好是不需要用另一种类型的控件替换控件的控件? (…因为我们的控件是由 ASP.NET 呈现的)

PS:在 CSS 中使用 [disabled] 选择器没有区别。

原文由 Heinzi 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 888
2 个回答

在 Internet Explorer 9 中,将添加对 :disabled 伪选择器 ( ref ) 的支持。我不知道这是否会尊重“颜色”属性,但似乎有可能。

在旧版本的 IE 中,您可以调整背景颜色(但不能调整颜色)。因此:

     <style type="text/css">
        select[disabled] { background-color: blue; }
    </style>

这适用于 IE 7 和 IE 8。您仍然无法更改前景颜色,但您可以更改背景颜色以与 IE 在禁用时分配给它的灰色形成更强烈的对比。

原文由 Will Martin 发布,翻译遵循 CC BY-SA 2.5 许可协议

这在 webkit 和 Firefox 中对我有用

select:disabled{
   opacity: 0.6;
}

原文由 Darren Cooney 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
logo
Stack Overflow 翻译
子站问答
访问
宣传栏