<输入类型 ="?"的 CSS 选择器

标签 css internet-explorer css-selectors

CSS 是否有任何方法可以根据输入的类型来定位所有输入?我有一个用于各种禁用表单元素的禁用类,我正在为文本框设置背景颜色,但我不希望我的复选框获得该颜色。

我知道我可以用单独的类来做到这一点,但如果可能的话我宁愿使用 CSS。我确定,我可以在 javascript 中设置它,但再次寻找 CSS。

我的目标是 IE7+。所以我认为我不能使用 CSS3。

编辑

使用 CSS3 我可以做类似的事情吗?

INPUT[type='text']:disabled 完全去掉我的类会更好...

编辑

好的,谢谢您的帮助!所以这里有一个选择器,它可以修改所有已禁用的文本框和区域,而无需设置任何类,当我开始这个问题时,我从没想过这是可能的......

INPUT[disabled][type='text'], TEXTAREA[disabled]
{   
    background-color: Silver;
}

这适用于 IE7

最佳答案

是的。 IE7+ 支持属性选择器:

input[type=radio]
input[type^=ra]
input[type*=d]
input[type$=io]

具有属性类型的元素输入,其包含的值等于、开始于、包含或结束于特定值。

其他安全的 (IE7+) 选择器是:

  • parent > child 有:p > span { font-weight: bold; }
  • 前面有 ~ 元素,即:span ~ span { color: blue; }

<p><span/><span/></p>会有效地给你:

<p>
    <span style="font-weight: bold;">
    <span style="font-weight: bold; color: blue;">
</p>

进一步阅读: Browser CSS compatibility on quirksmode.com

我很惊讶其他人都认为这是不可能的。 CSS 属性选择器已经存在一段时间了。我想是时候清理我们的 .css 文件了。

关于<输入类型 ="?"的 CSS 选择器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/470702/

相关文章:

css - Twitter Bootstrap 3 - 在词缀滚动上丢失容器全宽

html - 防止:hover styles affecting :after content

css - 我们可以用新的 CSS 实现任何目标吗 :is() pseudo-class that we can't already achieve with comma-separated queries?

html - 为什么 CSS 部分 :only-child selector not work?

javascript - ChartJS - Y 轴线不绘制

html - webkit 表格列的动态宽度

internet-explorer - 是否可以在没有内存泄漏的情况下在 IE 中使用 iframe?

启用兼容模式的 IE 8 中的 Javascript 错误

html - 如何重复背景图像的一部分

html - 为什么滚动条在 IE 中不起作用?