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

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

阅读全文

关注者
0
被浏览
7.1k
admin
admin 管理员 2020-03-20
学源码,精品源码分享,亲测无删减!

单纯只依靠一行 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.

1 个回答

撰写答案

请登录后再发布答案,点击登录

赞助
会员

在线
客服

分享
好友