我有以下定义的flex容器和flex项目:
.flex-container {
padding: 0;
margin: 0;
list-style: none;
display: flex;
flex-wrap: wrap;
}
.flex-item {
background: tomato;
padding: 5px;
height: 150px;
margin-top: 10px;
margin-right: 5px;
line-height: 150px;
color: white;
font-weight: bold;
font-size: 3em;
text-align: center;
flex: 1 0 200px;
}
<ul class="flex-container">
<li class="flex-item">1</li>
<li class="flex-item">2</li>
<li class="flex-item">3</li>
<li class="flex-item">4</li>
<li class="flex-item">5</li>
<li class="flex-item">6</li>
<li class="flex-item">7</li>
<li class="flex-item">8</li>
<li class="flex-item">9</li>
<li class="flex-item">10</li>
<li class="flex-item">11</li>
<li class="flex-item">12</li>
<li class="flex-item">13</li>
<li class="flex-item">14</li>
</ul>
如果最后一行中的项目很少,则它们会被拉伸,并且宽度比上一行中的项目大。
如您在图像中所见,方框13和14的宽度较大。
是否可以使最后一行中的项目与上一行中的项目具有相同的大小?
答案 0 :(得分:4)
添加不可见的flex项目是最流行的方法。它保留了所有flex的好东西,并且是很明显的黑客。
.hidden-flex-item {
content: "";
flex: 1 0 200px;
padding: 5px;
margin-top: 10px;
margin-right: 5px;
visibility: hidden;
}
在这里拨弄:https://jsfiddle.net/px37t2jc/9/
如果您花时间学习Css网格,它也可以轻松解决此类问题。
答案 1 :(得分:3)
如果您知道1-12框的宽度是多少(如果您想要设置宽度,或者只是使用chrome dev工具检查并获得宽度),则将max-width: *px;
设置为{ {1}} CSS。