CSS选择器“:enabled”与“not”(:disabled)是否有区别`
使用CSS3选择器CSS选择器“:enabled”与“not”(:disabled)是否有区别`,css,css-selectors,browser-support,Css,Css Selectors,Browser Support,使用CSS3选择器:enabled或not(:disabled)的行为或浏览器支持是否存在差异 我希望它们在功能上是相同的,因为它们都是CSS3选择器,所以浏览器支持也应该是相同的。是的,有一个区别-:not(:disabled)可以匹配既不是:enabled也不是:disabled的元素。这些是启用/禁用语义根本不适用的元素,例如div,p,ul,等等 委员会确认: 构成启用状态、禁用状态和用户界面元素的内容取决于语言。在典型文档中,大多数元素既不是:启用的,也不是:禁用的 有趣的是,对于:c
:enabled
或not(:disabled)
的行为或浏览器支持是否存在差异
我希望它们在功能上是相同的,因为它们都是CSS3选择器,所以浏览器支持也应该是相同的。是的,有一个区别-
:not(:disabled)
可以匹配既不是:enabled
也不是:disabled
的元素。这些是启用/禁用语义根本不适用的元素,例如div
,p
,ul
,等等
委员会确认:
构成启用状态、禁用状态和用户界面元素的内容取决于语言。在典型文档中,大多数元素既不是:启用的
,也不是:禁用的
有趣的是,对于:checked
,情况并非如此——没有相应的:unchecked
伪类,尽管并非所有元素都具有checked/unchecked语义。看看我对你的回答
如果您使用类型选择器(例如input
、select
或textarea
)或类选择器来限定这些伪类,您可能不必担心这一点。不过,使用:enabled
比:not(:disabled)
更有意义
大多数3级伪类的浏览器支持实际上是相同的-没有已知的浏览器只支持
:enabled
或:disabled
。然而,根据MDN的说法,它看起来像Opera 9.0和Safari 3.1,尽管它们确实支持and,而且IE7支持子字符串匹配属性选择器和通用同级组合器~
,但有些问题在IE8中得到了一些改进。我感觉它并不简单;谢谢你的回答!