【发布时间】:2023-04-02 21:02:02
【问题描述】:
我有一个带有多行 flexbox 的容器和一些 divs。如果最后一行的 div 数与其他行不同,则由于flex-grow: 1,div 会更大。有什么办法可以填充第一行而不是最后一行的剩余宽度?
| 1 | 2 | 3 | | 1 | 2 |
------------- -------------
| 4 | 5 | 6 | --> | 3 | 4 | 5 |
------------- -------------
| 7 | 8 | | 6 | 7 | 8 |
我不知道容器的宽度、子 div 的宽度或子项的数量,所以我无法手动设置宽度。 Here 就是例子。
section {
display: flex;
flex-wrap: wrap;
width: 10rem;
}
.reverse {
flex-wrap: wrap-reverse;
}
div {
height: 2.5rem;
width: 2.5rem;
background: lightblue;
margin: 0.2rem;
flex-grow: 1;
}
Corrent order, wrong layout:
<section>
<div>1</div><div>2</div><div>3</div><div>4</div><div>5</div><div>6</div><div>7</div><div>8</div>
</section>
Correct layout, wrong order:
<section class="reverse">
<div>1</div><div>2</div><div>3</div><div>4</div><div>5</div><div>6</div><div>7</div><div>8</div>
</section>
【问题讨论】: