CSS3:未经检查的伪类
我知道有一个官方的 CSS3 :checked
伪类,但是有没有一个 :unchecked
伪类,它们有相同的浏览器支持吗?
I know there is an official CSS3 :checked
pseudo-class, but is there an :unchecked
pseudo-class, and do they have the same browser support?
Sitepoint 的参考资料 没有提到,但是这个 whatwg 规范(不管是什么)的作用.
Sitepoint's reference doesn't mention one, however this whatwg spec (whatever that is) does.
我知道将 :checked
和 :not()
伪类结合起来可以达到相同的结果,但我还是很好奇:
I know the same result can be achieved when the :checked
and :not()
pseudo-classes are combined, but i'm still curious:
input[type="checkbox"]:not(:checked) {
/* styles */
}
w3c 推荐相同的技术
The w3c recommends the same technique
可以使用否定伪类来选中未选中的复选框:
An unchecked checkbox can be selected by using the negation pseudo-class:
:not(:checked)
推荐答案
:unchecked
没有定义在 Selectors 或 CSS UI level 3 specs 中,也没有出现在 Level 4 Selectors 中.
:unchecked
is not defined in the Selectors or CSS UI level 3 specs, nor has it appeared in level 4 of Selectors.
事实上,W3C 的引用取自 Selectors 4 规范.由于 Selectors 4 建议使用 :not(:checked)
,因此可以安全地假设没有对应的 :unchecked
伪.:not()
和 :checked
的浏览器支持是相同的,所以这应该不是问题.
In fact, the quote from W3C is taken from the Selectors 4 spec. Since Selectors 4 recommends using :not(:checked)
, it's safe to assume that there is no corresponding :unchecked
pseudo. Browser support for :not()
and :checked
is identical, so that shouldn't be a problem.
这似乎与 :enabled
和 :disabled
状态不一致,尤其是因为一个元素既不启用也不禁用(即语义完全不适用),但是对于这种不一致似乎没有任何解释.
This may seem inconsistent with the :enabled
and :disabled
states, especially since an element can be neither enabled nor disabled (i.e. the semantics completely do not apply), however there does not appear to be any explanation for this inconsistency.
(:indeterminate
不计算在内,因为一个元素同样不能是未检查、检查或不确定的,因为语义不适用.)
(:indeterminate
does not count, because an element can similarly be neither unchecked, checked nor indeterminate because the semantics don't apply.)
相关文章