css - 仅选择不具有已定义类的父元素的元素

标签 css css-selectors

我如何只选择在其父树中没有父级的子级?

这没有用:

div:not(.dontSelect) .child

div {
  background-color: red;
  padding: 5px;
}

div:not(.dontSelect) .child {
  background-color: green;
  padding: 5px;
}
<div>
  <div class="child">
    Select this
  </div>
  <div class="dontSelect">
    <div>
      <div class="child">
        Don't select this
      </div>
    </div>
  </div>
</div>

最佳答案

如前所述,您不能使用 :not() 来排除组合选择器中的祖先元素,但可以定位您的 .child 类并排除具有特定父元素的元素:

.child:not(.dontSelect .child){
    background-color: green;
    padding: 5px;
}

关于css - 仅选择不具有已定义类的父元素的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47269129/

相关文章:

css - 是否有 CSS 父级选择器?

html - CSS选择具有部分ID的元素

html - 第 n 个 child 无法正常工作,有时计数错误

css - 防止动态 Shiny CSS 文件相互覆盖

CSS 选择直接子项,但如果在另一个嵌套子项中则不会

python - selenium.common.exceptions.ElementClickInterceptedException : Message: element click intercepted: Element is not clickable with Selenium and Python

html - 重叠跨度在悬停时没有位移

jquery - qTip2 自定义 css 问题

css - 在 AdminLTE 模板中包含 CSS 文件

html - 浏览器渲染问题