我有一个简单的框内边框,框架有一个最大宽度。
.outer {
display: flex;
max-width: 1000px;
border: 1px solid black;
}
.inner {
min-width: 100px;
height: 100px;
background-color: blue;
margin: 10px;
color: white;
}
<div class='outer'>
<div class='inner'>1</div>
<div class='inner'>2</div>
<div class='inner'>3</div>
<div class='inner'>4</div>
<div class='inner'>5</div>
<div class='inner'>6</div>
<div class='inner'>7</div>
</div>
你可以看到,随着屏幕宽度的减小,这些盒子会从框架中消失。我的问题是,这些盒子会自动在框架中垂直堆叠吗?所以当屏幕宽度减小时,7会在1下,然后6在1下,7在2下,然后5在1下,6在2下,7在3下,等等。
当屏幕宽度减到最小时,只剩下1列,垂直方向依次为1、2、3、4、5、6、7。
在真正的应用程序中,我有随机数量的方块,所以堆栈需要自动。
3条答案
按热度按时间6xfqseft1#
我想你要找的是
flex-wrap: wrap;
0qx6xfy62#
要使Flex框成为列,请使用CSS
你可以从我的来源找到这个和更多:
https://www.w3schools.com/css/css3_flexbox_container.asp
cbjzeqam3#
这个问题可以并且应该用CSS-Grid来解决,这可以确保在任何情况下都考虑到列,并且容器将利用整个宽度,而不是保留由
flex-wrap
引起的空白(这是@Libra答案的主要缺点)。您可以使用
auto-fit
和minmax
值。这将确保元素具有最小宽度并占据其余部分。然后,它将尽可能多地容纳相邻的元素,并将其他元素推到下一行,但要尊重列: