css - 将规则应用于同一级别中的所有节点,最后一行中的节点除外
问题描述
我知道问题的标题有点令人困惑,所以我会尝试更好地解释我想说的话。
假设我有一组元素,比如网格。- 这个网格可以是不均匀的 - 这个网格可以有任意数量的列
这是一个包含 7 个元素的 3 列网格的示例。
如您所见,我在某些元素下方画了一条线。
我想要的是将这些样式应用于所有元素,除了最后一行的元素。无论这可能包含多少项目。
我怎样才能做到这一点?
标记真的和你想象的一样简单:
<div class="items">
<div class="item">...</div>
<div class="item">...</div>
<div class="item">...</div>
<div class="item">...</div>
<div class="item">...</div>
<div class="item">...</div>
<div class="item">...</div>
</div>
我现在拥有的是:
.item:nth-child(n + 4){
border-top: 1px solid black;
}
解决方案
由于大多数方法已经在那里展示,我将留下一个 hacky 解决方案。
您可以在最后一项中使用伪元素,该元素position: absolute
将覆盖底部的整个水平宽度。将position: relative
在父元素中。
.items {
position: relative;
}
.item:last-child:before {
content: "";
position: absolute;
bottom: -1px;
left: 0;
height: 2px;
background-color: #ffffff;
width: 100%;
}
这不会删除边框,而是隐藏它们。只有当背景是纯色时才有效。
推荐阅读
- android - Firebase 默认通知颜色在三星中不可见
- java - 如何在应用程序顶部显示底部导航视图?
- python - 在 Pandas 中,如何按键中的每 N 行进行分组,保存一列的最后一个值并根据该“集合”中的所有行计算另一个值?
- node.js - 猫鼬:在 X 集合中创建新元素,在 Y 集合中更新另一个元素
- ruby-on-rails - 如何在 Windows 10 上将 MariaDB 与 Rails 一起使用?
- lua - 此表语法的含义
- javascript - 如何在页面完成加载时发出 AJAX 请求,由 window.location.href 触发
- machine-learning - 机器学习模型不适用于连续数据
- python-3.x - 如何设置 Anaconda 使其不会影响 MacOS 上的“homebrew python pip”和 Pyenv 等其他环境?
- amazon-web-services - 如何在没有开发端点的情况下测试 AWS Glue 代码