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

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

阅读 844
评论
    1 个回答

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

      登录后参与交流、获取后续更新提醒

      相似问题
      推荐文章