我如何使用CSS3选择器选择除最后一个子之外的所有子?
例如,如果只获取最后一个子元素,则使用div:n -last-child(1)。
我如何使用CSS3选择器选择除最后一个子之外的所有子?
例如,如果只获取最后一个子元素,则使用div:n -last-child(1)。
当前回答
要查找last中的元素,请使用
<style>
ul li:not(:last-child){ color:#a94442}
</style>
其他回答
使用更通用的选择器,可以实现如下所示
& > *:not(:last-child) {/* styles here */}
例子
<div class="parent">
<div>Child one</div>
<div>Child two</div>
</div>
这将捕获父节点中的所有子DIV
当IE9到来时,这将变得更容易。但是很多时候,你可以把问题切换到一个要求:first-child和样式元素的反面(IE7+)。
如果你在父类的嵌套中使用它,那么最简单的方法是:
&:not(:last-child){
....
}
例子:
.row { //parent
...
...
...
&:not(:last-child){
....
}
}
Nick Craver的解决方案是可行的,但你也可以用这个:
:nth-last-child(n+2) { /* Your code here */ }
CSS Tricks的Chris Coyier做了一个很好的测试:第n个测试者。
.nav-menu li:not(:last-child){
// write some style here
}
这段代码应该将该样式应用于除最后一个子元素之外的所有元素