CSS深度嵌套:最后一个子选择器

hjzp0vay  于 2023-03-14  发布在  其他
关注(0)|答案(1)|浏览(189)

我正在使用一些html组件,我基本上想在一个特定的类上设置一个:last-child selector。问题是这个类深深地嵌套在我想使用选择器的父类中,所以当我使用最后一个子类时,它会影响所有组件的css。我遇到的一个问题是我想更改css的选择器嵌套在不同的组件中。
下面是我尝试的一个例子:

parent .my-class:last-child {
  border-bottom: none;
}
parent > * > .my-class:last-child {
  border-bottom: none;
}

下面是HTML的外观:

<parent>
  <a>
    <div class="my-class"></div>
  </a>
  <b>
    <div class="my-class"></div>
  </b>
  <c>
    <div class="my-class"><div>
  </c>
  <d>
    <div class="my-class"></div>
  </d>
</parent>
... more parents with more children elements that can be whatever and nest more .my-class elements

我的css发生的事情是它们都被识别为:last-child,我希望发生的事情是只有完整选择器parent > d > .my-class被识别为最后一个child。
请记住,元素的顺序并不总是相同的,因此使用上面提供的选择器对我的情况不起作用。
下面是一个codepen示例。

zpgglvta

zpgglvta1#

问题是我把:last-child选择器放在了选择器中的错误元素上。正确的选择器应该是:

parent > *:last-child .my-class {
  border-bottom: none;
}

codepen已经更新了使其工作所需的正确css。

相关问题