将flexbox子级设置为不同的高度以占用可用空间
使用两列flexbox布局,如何使大小不同的子代填充所有可用空间,而不是使所有子代都具有该行中最高的子代的高度?
我在jsbin上建立了一个演示该问题的演示。我希望所有的孩子都和他们包裹的东西一样大。
#container { width: 800px;
display: flex;
flex-wrap: wrap;
}
.cell {
width: 300px;
flex; 1 auto;
}
<div id="container">
<div class="cell">
Cells with arbitrarily long content.</div>
<div class="cell">
</div>
<div class="cell">
</div>
<div class="cell">
</div>
<div class="cell">
</div>
</div>
</body>
</html>
回答:
这就是Flexbox行的预期行为。Flexbox并不是要用纯CSS重新创建Masonry:一行中的项目不能占用为前一行/后一行分配的空间(如果您使用列方向,则列也是如此)。您可以使用align-
items防止它们拉伸,仅此而已:
#container { width: 800px;
display: flex;
flex-wrap: wrap;
align-items: flex-start;
}
.cell {
width: 300px;
flex: 1 auto;
padding: 10px;
border: 1px solid red;
}
以上是 将flexbox子级设置为不同的高度以占用可用空间 的全部内容, 来源链接: utcz.com/qa/412186.html