我被困在伸展柔性的问题上。 我有flexbox div项目。这些项目可以拉伸到全宽,并具有最小宽度的属性,所以3-4个元素可以适合大屏幕,1-2个小元素。 我想让它们的宽度相等,但问题是如果包装物品的数量少于顶部元素,则包装物品会更宽。CSS让柔性包裹元素不超过他们的兄弟宽度
.items {
display: flex;
justify-content: center;
flex-wrap: wrap;
width: 100%;
}
.item {
min-width: 400px;
border: 1px solid black;
margin: 0;
height: 200px;
flex-grow: 1;
}
<div class="items">
<div class="item">1</div>
<div class="item">1</div>
<div class="item">1</div>
<div class="item">1</div>
<div class="item">1</div>
</div>
谢谢!
更新2016年2月5日
感谢@vals我想出了不同屏幕尺寸的百分比宽度的解决方案。 (但似乎我有一些微小的问题,33%的宽度的元件,其中1%是空的空间,他们周围的左XD)
.items {
display: flex;
justify-content: center;
flex-wrap: wrap;
width: 100%;
box-sizing: border-box;
align-items: center;
}
@media only screen and (max-width: 820px) {
.item {
width: 100%;
}
}
@media only screen and (min-width: 821px) and (max-width: 1220px) {
.item {
width: 50%;
}
}
@media only screen and (min-width: 1221px) and (max-width: 1620px) {
.item {
width: 33%;
}
}
@media only screen and (min-width: 1621px) and (max-width: 2020px) {
.item {
width: 25%;
}
}
.item {
box-sizing: border-box;
border: 1px solid black;
margin: 0;
height: 200px;
}
<div class="items">
<div class="item">1</div>
<div class="item">1</div>
<div class="item">1</div>
<div class="item">1</div>
<div class="item">1</div>
</div>
你'使用'flex:1'。这告诉flex项目消耗容器中的所有可用空间。如果您的优先级是多行相等的宽度项目,那么'flex:1'不是解决方案。 –