禁用输入类型的CSS选择器=“提交”


76

是否有CSS选取器供残疾人input type="submit"或使用"button"

我应该使用input[type="submit"][disabled]吗?

在IE6中可以使用吗?


4
:disabled在CSS3中可能会更好。但是IE也不支持,因此您需要一个备份类。
bobince 2010年

谢谢,很好,但是我打算暂时不使用CSS3。
Francisc

13
开发人员确实需要停止尝试支持IE6。网站所有者/经理确实需要停止要求开发人员提供支持。来吧人-IE9即将问世!
Spudley

1
好吧,考虑到我的客户端中有24%的用户来自IE6,我现在很难不忽略它。IE9很棒,但是例如在Windows XP上不起作用。
Francisc

2
如今,IE6的平均水平比平均水平高出24%,但是可以的,如果您有这种统计需要解决。只要功能正常运行,并不意味着您必须使所有内容看起来都完美。对于它的价值,我们看到了17%的价值,并且我们已决定在即将到来的网站改造中积极放弃对此的支持。
Spudley

Answers:


114

在IE6中可以使用吗?

不,IE6根本不支持属性选择器,请参见。CSS兼容性和Internet Explorer

您可能会发现解决方法:IE6不支持值得阅读的CSS“属性”选择器


编辑
如果要忽略IE6,可以执行(CSS2.1):

input[type=submit][disabled=disabled],
button[disabled=disabled] {
    ...
}

CSS3(IE9 +):

input[type=submit]:disabled,
button:disabled {
    ...
}

可以[disabled=disabled](属性值)替换为[disabled](属性存在)。


好的谢谢。但是,如果我要忽略IE6,将如何实现?输入[type =“ button” [disabled]是标准的吗?
Francisc

再次感谢您的第一个链接,CSS兼容性和Internet Explorer-优秀文章,即时书签。
Francisc

1
@SuperUberDuper基于属性的方法将在IE8(既不是IE6也不是IE9 +)中工作。IE7和IE8都支持一些CSS2.1和CSS3选择器,属性值/状态是其中之一。
jensgram

2

正如詹斯格拉姆所说,IE6不支持属性选择器。您可以添加class =“ disabled”来选择禁用的输入,以便可以在IE6中使用。


0

我使用@jensgram解决方案来隐藏包含禁用输入的div。因此,我隐藏了输入的整个父级。

这是代码:

div:has(>input[disabled=disabled]) {
    display: none;
}

也许对您有些帮助。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.