CSS中 .aa > .bb:first-child:not(:last-child)这个选择器的问题

<div class="aa">
<div class="bb">
<div class="cc"></div>
<div class="dd"></div>
<div class="ee"></div>
</div>
<div class="bb"></div>
<div class="bb"></div>
</div>
.aa > .bb:first-child:not(:last-child){border: solid;}
这个选择器为什么选择的不是.aa下的第一个子元素bb下的除了最后一个子元素
其他所有子元素?而是选择bb?

阅读 9.3k
3 个回答
.aa > .bb:first-child>div:not(:last-child){}

这样呢?

那个选择器的意思是:
选择.aa直接相邻的一级子元素且类名为.bb且是第一个子元素且不是最后一个子元素…

所以当然是选到.bb啦~

一楼是你想要实现的正确选择器

.aa > .bb:first-child :not(:last-child)   

//:not前面加一个空格代表下一级元素,不加空格代表同一级元素
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题