【发布时间】:2017-05-18 08:55:39
【问题描述】:
您能否看一下这个演示并告诉我如何将 CSS 规则应用到所有特定类 .box 但不能应用到最后一个?
我已经尝试过:not(:last-of-type) 和:not(:last-child),但他们没有做这项工作
.box{
height:40px;
width:100%;
padding:12px;
}
.box:not(:last-of-type){
border-bottom: 1px solid #ddd;
}
.box:not(:last-child){
border-bottom: 1px solid #ddd;
}
<div class="box">Box 1</div>
<div class="box">Box 2</div>
<div class="box">Box 3</div>
<div class="box">Box 4</div>
【问题讨论】:
-
所以这是实际的答案。 (问题已关闭,因此无法添加为答案。) Stackoverflow(和 jsfiddle)附加额外的隐藏元素
body。:last-child最终以这些添加的元素为目标,并且由于它们是隐藏的,因此该样式似乎具有意想不到的效果。 CodePen 不这样做,因此您的示例可以正常工作there。一些答案建议使用包装器元素,这当然有助于缓解此问题,但没有说明为什么会出现问题。 -
@BoltClock 这不是那个的副本。虽然它谈论的是
:last-child,但这个问题和它的答案都在谈论一个不同的问题。 -
@Ouroborus:原则上问题是相同的:提问者希望将样式应用于(除了)具有特定类的最后一个元素,除了修改之外没有任何其他解决方案的 HTML。无论是否有任何隐藏元素都是如此。
标签: css