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/