【发布时间】:2021-06-03 01:53:48
【问题描述】:
我正在使用 CSS Grid 创建一个网格布局。我想让整个网格项目在下一个项目之前有右分隔符,但除了同一行中的最后一个项目动态取决于网格条件。
这是我尝试过的,第 3 项的分隔符不应该存在,因为它是第 1 行的最后一项,以及第 5 项。
* {
margin: 0;
padding: 0;
box-sizing: border-box;
white-space: nowrap;
}
html, body {
font-family: Arial, Helvetica, sans-serif;
font-size: 14px;
}
div {
position: relative;
display: block;
}
.grid {
width: 25em;
padding: .5em;
display: grid;
grid-template-columns: repeat(auto-fill, minmax(6em, 1fr));
grid-gap: .5em;
border: 1px dashed palevioletred;
}
.grid > .item {
padding: 2em;
display: flex;
align-items: center;
justify-content: center;
}
.grid > .item::before {
content: '';
position: absolute;
top: 0;
bottom: 0;
right: .025em;
width: 1px;
background-color: cornflowerblue;
}
<div class="grid">
<div class="item">Item 1</div>
<div class="item">Item 2</div>
<div class="item">Item 3</div>
<div class="item">Item 4</div>
<div class="item">Item 5</div>
</div>
这里出了什么问题?
【问题讨论】:
-
如果最后一行只有一个元素会怎样?
-
它不会有分隔线,因为它旁边已经没有项目了