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/5247888/

相关文章:

CSS背景拉伸(stretch)到窗口底部?

javascript - JQuery "includes"困惑

javascript - 如何在移动 View 中隐藏一些导航链接?

html - CSS 选择多个标签

css - 我应该避免在 CSS 中使用 !important 吗?

css - 使用 bootstrap css 固定页脚

javascript - 背景位置底部 parseInt

打印时 Html 表格断行

css - 第一个 child 在 tbody 中不起作用?

CSS 选择器仅适用于子菜单中的元素