CSS 选择器获取 HTML 树中特定类的最深元素

标签 css css-selectors

我的 HTML 中有一堆 DIV 元素,其中一些元素的类属性设置为“rowsLayout”。其中一些 rowsLayout DIV 可以相互嵌套。我想定义一个 CSS 选择器,它只针对那些嵌套中最深的 DIV。也就是说,我想要包含任何其他 rowLayout DIV 的任何 rowsLayout DIV。

<div id="a" class="rowsLayout">
  <div id="b" class="rowsLayout" />
  <div id="c" class="rowsLayout">
    <div id="d" class="rowsLayout" />
  </div>
</div>
<div id="e" class="rowsLayout" />

有了这个结构,我想要一个以 b、d 和 e 为目标的选择器。

这可以做到吗?

最佳答案

您可以使用 jQuery 选择器 .rowsLayout:not(:has(.rowsLayout))

但是,出于性能原因,this is not possible in CSS .

您的选择器取决于您定位的元素的子级(或缺少子级)。
CSS 的设计使得元素的选择器总是可以在元素的子元素存在之前被解析;这允许在加载文档时应用 CSS。

关于CSS 选择器获取 HTML 树中特定类的最深元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36560879/

相关文章:

html - using/deep/in angular 4 component.css 导致其他组件使用相同的样式。如何解决?

php - 如何即时反射(reflect)变化的排名?

html - 我的 html 表单和纯 css 有问题吗?

html - 如何在 SCSS 中设置数据占位符属性的样式?

html - CSS:使用多个属性

selenium - 如何通过不使用 :not()? 选择没有类的元素

javascript - 回到滚动条末尾开始

HTML 表格,不同列的水平滚动

jQuery 选择器 : select anchor tags that are a descendants of a div with a particular id

css - 如何使用 css 多个选择标签来选择至少一个选项?