首页 > web前端 > css教程 > CSS `:not()` 是否选择性地仅针对直接后代?

CSS `:not()` 是否选择性地仅针对直接后代?

Patricia Arquette
发布: 2024-12-03 05:26:10
原创
858 人浏览过

Does CSS `:not()` Selectively Target Only Immediate Descendants?

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中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板