css - 如何在混合容器中选择类(class)的第一个 child /最后一个 child ?

标签 css css-selectors

我可以在包含不同类(class) child 的 div 中选择类(class)的第一个和最后一个 child 吗?

例如:

<div class="main">
    <div class="red"></div>
    <div class="red"></div>
    <div class="red"></div>

    <div class="black"></div>
    <div class="black"></div>
    <div class="black"></div>

    <div class="green"></div>
    <div class="green"></div>
    <div class="green"></div>
</div>

我想选择 .black 的第一个 child 和最后一个 child 。这可能吗?

最佳答案

不,不幸的是不是。

但是,可以通过组合两个选择器 ( example ) 来选择某个类的第一个子节点:

div.black:first-child,
div:not(.black) + div.black

第一个选择器选择一个黑色 div,它显然是其父项的第一个子项。第二个选择器选择前面有一个非黑色 div 的黑色 div。使用这两个规则,您可以选择第一个黑色 div。

有关详细信息,请参阅::first-child , :not , 和 adjacent sibling selector (+) .

关于css - 如何在混合容器中选择类(class)的第一个 child /最后一个 child ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19416041/

相关文章:

jquery fadein 闪烁

CSS TranslateX(-50%) 未按预期工作

javascript - 单击 dblclick 时隐藏表格列

html - 如何使父属性不覆盖后代

javascript - 如何选择仅具有特定属性的元素?

html - 响应宽度在手机上太小,但在桌面浏览器上没问题

html - 字体在 Firefox 中不工作

python - 无法找到元素 - 多个元素似乎具有相似且最少的信息,但我无法正确找到

css - 第 n 个和第 m 个兄弟元素的选择器?

wordpress - 只有一个媒体查询被应用