javascript - 如何为动态填充的内容添加边框,除了 CSS 中的外部边框?
问题描述
我正在尝试创建一个网格系统,其中内容将动态填充,因此创建时我不会知道元素的确切数量。到目前为止,我所拥有的是将每个元素添加到一个 flexbox 容器中,该容器在每行中包含 3 个元素。如果有超过 3 个元素,则下一个元素将转到下一行,依此类推。话虽如此,我想做的是在每个元素周围添加边框减去外部元素。所以它看起来像这样。
__|__|__
__|__|__
| |
我遇到的问题是我一直在为每个元素添加一个底部边框和一个右边框,然后使用 nth-child(3n) 为每个第三个子元素添加一个 0 边框。但这并不能解决底行底部边框的问题,对我来说它看起来像这样:
__|__|__
__|__|__
__|__|__
我不确定以该底部边框为目标并将其删除的最佳方法,因为由于内容是动态填充的,因此我不知道该底部行上的确切元素数量,因为它可能是 1、2 或 3元素。那么获得我想要的结果的最佳方法是什么?是否可以单独使用 CSS 来执行此操作,或者我需要 javascript 来执行此操作?这是我目前正在使用的代码:
.flexContainer {
display: flex;
flex-wrap: wrap;
}
.flexElement {
width: 33.33%;
border-right: solid 2px #e1e1e1;
border-bottom: solid 2px #e1e1e1;
&:nth-child(3n), &:last-child {
border-right: none;
}
}
解决方案
我建议将边框添加到顶部并排除前三个元素。
解决方案
.flexContainer {
display: flex;
flex-wrap: wrap;
}
.flexElement {
width: 33.33%;
border-right: solid 2px #e1e1e1;
// Styles start on the 4th child
&:nth-child(n+4) {
border-top: solid 2px #e1e1e1;
}
&:nth-child(3n), &:last-child {
border-right: none;
}
}
推荐阅读
- android - 如何在奖励广告中添加 onAdClick 回调?- AdMob - 安卓
- javascript - 如果存在,如何从数组中删除一个值,如果不存在,如何将其推送到数组?
- javascript - 如何根据下拉菜单中的选择显示图像?
- html - 制表单元格跨度
- r - 如何使用 facet_wrap 将 NSE 和 PBIAS 结果添加到 ggplot?
- ios - 从 Firestore 文档中获取数据并附加到数组
- javascript - 是否有一个 ES6 函数会返回一个包含属性更改的对象?
- antlr - 防火墙配置解析器无关输入
- xamarin - Xamarin 中的辅助触摸按钮
- c# - 用循环填充数组