一行css选择器如何 排除 某元素以及它的后代?

发布于 2022-09-12 01:42:48 字数 34 浏览 35 评论 0

比如 .A 和它包含的所有子代和后代 都不要被选择。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

夜空下最亮的亮点 2022-09-19 01:42:48

单纯只依靠一行 css 的话应该不行。

我想了想 css 中表示反选的有 :not() 伪类选择器,但是只靠 :not() 不能完美满足你的需求,除非给该元素以及他的后代都加上一个统一的标识(class 或属性等等)。

因为:not()伪类选择器只能接收一个简单选择器作为参数,如果该元素以及他的后代可以用一个简单选择器来统一选中的话,就可以通过 :not() 实现。

例如通过 js 遍历或者直接在 html 中给该元素及所有的后代元素添加一个统一的 class="uniqueClass",就可以通过 :not(.uniqueClass) 匹配到除了这些元素之外的其他所有元素(添加统一的属性同理)。

这是我的个人理解,如果有不对的地方还请指出。

简单选择器

A simple selector is either a type selector, universal selector, attribute selector, class selector, ID selector, or pseudo-class.
一个简单选择器可以是类型选择器,通用选择器,属性选择器,类选择器,ID选择器或伪类选择器。

:not() 选择器

The negation pseudo-class,:not(X), is a functional notation taking a simple selector(excluding the negation pseudo-class itself) as an argument. It represents an element that is not represented by its argument.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文