【发布时间】:2017-10-23 10:31:43
【问题描述】:
我已经设置了一系列三个容器并将display: flex; 和flex-wrap: wrap; 应用到它们,但是当我减小窗口大小时它们没有换行?
我已将代码放在下面,但在找到问题的根源方面似乎一无所获。
body {
font-family: arial;
}
p {
color: white;
}
.container {
background-color: #666;
width: 800px;
height: 200px;
margin: 0 auto;
display: flex;
flex-wrap: wrap;
justify-content: center;
}
.item {
padding: 10px;
box-sizing: border-box;
}
.item1 {
flex: 1;
background-color: red;
}
.item2 {
flex: 1;
background-color: blue;
}
.item3 {
flex: 1;
background-color: green;
}
<div class="container">
<div class="item item1">
<h1>ITEM1</h1>
<p>flex: 1</p>
</div>
<div class="item item2">
<h1>ITEM2</h1>
<p>flex: 1</p>
</div>
<div class="item item3">
<h1>ITEM3</h1>
<p>flex: 1</p>
</div>
</div>
【问题讨论】:
-
为什么要换行 - 您没有为您的子项目指定宽度,内容的大小意味着它们都可以放在一行中,但是当您将 flex 设置为 1 时,这就说明了当您将每个项目的
flex-basis设置为相同时,适合该行的项目 -
另外,由于您的容器是固定宽度,屏幕大小不会影响它是否换行