CSS :not() 选择器是为远方后代设计的吗?
CSS3 :not() 伪类,如中所述官方文档位于http://www.w3.org/TR/css3-selectors/#negation,旨在匹配以下元素:与给定的选择器不匹配。然而,用户发现它在与远亲后代一起使用时功能有限。
考虑以下示例:
div :not(p) { color: red; }
虽然此选择器在
时起作用。是
> 时它会失败。是更远的后裔。此行为是有意为之,因为 :not() 仅否定目标元素的直接后代。
在
的情况下包含一个,它是
本身匹配 *:not(p) 并继承样式。元素本身仍然算作否定,从其父元素继承文本颜色。
要克服此限制,将
定位为建议直接使用元素:
p { color: black; }登录后复制选择器级别 4 建议增强 :not() 以接受包含组合器的完整复杂选择器,从而允许更具体的后代定位。不过,此功能仍处于实施阶段。
以上是CSS `:not()` 是否选择性地仅针对直接后代?的详细内容。更多信息请关注PHP中文网其他相关文章!