【发布时间】:2019-05-07 15:30:14
【问题描述】:
在this question 之后,我正在尝试定位突出显示的 div(或者更确切地说,它的所有兄弟姐妹除外)。
div.card-body > div.form-group:not(last-child) {
margin-bottom: 0;
}
我尝试了各种 CSS,但无法弄清楚这一点。基本上我想从除最后一个之外的所有表单组中删除边距。
请注意,它不是“card-body”的最后一个 div 子元素。我正在尝试定位最后一个具有“form-group”类的 div 而不是最后一个 div。
感谢@RyanWheale,查看此代码 (https://jsfiddle.net/j0gzs8ky/1/)
CSS
div.card-body > .form-group:not(:last-child) {
background-color: #fcc;
}
HTML
<div class="card-body">
<div class="form-group">
ONE
</div>
<div class="form-group">
TWO
</div>
<div class="form-group">
THREE - target me
</div>
<div>
I am the last div
</div>
</div>
这正在改变《三》的背景,但我不希望那样。所以我试图只针对三个 - 因为在三个之前和之后可能有不同数量的 div,所以我也不能使用第 n 个孩子。
那么如何定位具有“form-group”类的最后一个子 div
更新 - 解决方案
由于这是一个重复的问题,而我试图做的事情是不可能的,所以这是解决方法。
由于无法再添加答案,希望在此处添加此内容将帮助可能面临此问题的其他人:
我添加了一个额外的 div 来包含表单组,然后我可以定位最后一个孩子:
HTML
<div class="card-body">
<div class="form-groups-container"
<div class="form-group">
ONE
</div>
<div class="form-group">
TWO
</div>
<div class="form-group">
THREE - target me
</div>
</div>
<div>
I am the last div
</div>
</div>
CSS
.form-groups-container > .form-group:not(:last-child) {
margin-bottom: 0;
}
【问题讨论】:
-
你为什么在几分钟内重复了同样的问题?
-
我的浏览器好像死机了,所以当我再次点击提交时它重复发布了
-
所以现在我不能删除它,因为它有答案,我也不能删除另一个副本,因为它链接到这个副本。第 22 条军规。
-
投票重新打开,以便删除其他问题。
-
您需要编辑您的问题以添加 HTML,然后才能重新投票
标签: css css-selectors