gpt4 book ai didi

css - 如何让最后一行的元素占用CSS Grid中的剩余空间?

转载 作者:技术小花猫 更新时间:2023-10-29 11:12:23 28 4
gpt4 key购买 nike

有没有办法强制网格的最后一行中的所有元素填充该行,无论它们有多少?

我不知道网格中的元素数量,所以我无法直接定位它们。我尝试使用 grid-auto-flow: dense,但它并没有真正帮助。

这是我的可视化问题: enter image description here :

div {
margin:20px auto;
width: 400px;
background: #d8d8d8;
display: grid;
grid-gap: 10px;
grid-template-columns: repeat(3, 1fr);
}
span {
height: 50px;
background: blue;
}
<div>
<span></span>
<span></span>
<span></span>
<span></span>
<span></span>
<span></span>
<span></span>
</div>

最佳答案

通过组合 CSS 规则 nth-child 和 nth-last-of-type,这完全可以用 CSS 网格实现。唯一需要注意的是需要提前知道列数。

.grid {
display: grid;
grid-template-columns: auto auto auto;
justify-items: start;
grid-gap: 10px;
}

.grid div {
border: 1px solid #ccc;
width: 100%;
}

.grid > *:nth-child(3n-1) {
justify-self: center;
text-align: center;
}

.grid > *:nth-child(3n) {
justify-self: end;
text-align: right;
}

.grid > *:nth-child(3n-1):nth-last-of-type(1) {
border-color: red;
grid-column: span 2;
}

.grid > *:nth-child(3n-2):nth-last-of-type(1) {
border-color: red;
grid-column: span 3;
}
<div class="grid">
<div>text</div>
<div>TEXT</div>
<div>text</div>
<div>text</div>
<div>TEXT</div>
<div>text</div>
<div>text</div>
<div>TEXT</div>
</div>

关于css - 如何让最后一行的元素占用CSS Grid中的剩余空间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54370822/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com