【发布时间】:2016-01-11 20:21:03
【问题描述】:
我在一个容器里有一堆盒子。我不知道一排可以放多少个盒子,屏幕越大,盒子应该越多。但是我希望每一行都被完全填满,并调整框的大小(在 100px 到 150px 之间)以确保每一行都被填满。
http://jsfiddle.net/ssxu5moy/11/
.container2 {
width:100%;
height: 100px;
display: flex;
flex-wrap: wrap;
align-items: stretch;
align-content: stretch;
}
.box {
border: 1px solid purple;
background: blue;
align-self: stretch;
min-width: 100px;
max-width: 150px;
}
<div class="container2">
<div class="box box1">
</div>
<div class="box box2">
</div>
<div class="box box3">
</div>
<div class="box box3">
</div>
<div class="box box3">
</div>
<div class="box box3">
</div>
<div class="box box3">
</div>
<div class="box box3">
</div>
<div class="box box3">
</div>
</div>
我已经在 javascript 中做到了这一点,它工作正常,但我想改为更简单的 flexbox,但我很难让它工作。这在 flexbox 中是否可行?
【问题讨论】:
-
100-150px 的框大小有什么弹性吗?如果只有一个盒子换到下一行,该行应该如何填充?
-
@Michael_B 是的,你说得对,我的要求存在矛盾。我希望所有框的大小相同,拉伸应该只针对初始行中的框,我希望最后一行框与所有其余框的大小相同。
-
@Michael_B 我认为 OP 不会。他希望第二行中的盒子与第一行中的盒子宽度相同——即使它们会增长和缩小。因此,如果顶部有 5 个宽度为
100px的框,第二个有 2 个框,则这些框应该是100px,但如果屏幕变大并且顶行现在有 6 个框,宽度为150px,最后一行有一个盒子,盒子的宽度应该是150px。flexbox真的没有办法在本地实现这一点。因为屏幕调整大小时有一个灵活的宽度。
标签: javascript css flexbox