【发布时间】:2018-10-08 15:13:26
【问题描述】:
我有一个带有flex-direction: row 的弹性框。子项具有min-width 集。当窗口缩小超过到达min-width 的点时,项目开始溢出弹性容器。
.parent {
display: flex;
flex-direction: row;
background-color: red;
}
.child {
min-width: 100px;
flex-basis: 0px;
flex-grow: 1;
margin: 5px;
height: 100px;
background-color: blue;
}
<div class="parent">
<div class="child"></div>
<div class="child"></div>
<div class="child"></div>
</div>
https://jsfiddle.net/4t8029q8/
有没有办法强制容器拉伸以包含项目而不在父项上设置显式min-width?这样做提供了我想要实现的行为,但过于僵化,无法容纳可变数量的项目。
.parent {
display: flex;
flex-direction: row;
background-color: red;
min-width: 330px
}
.child {
min-width: 100px;
flex-basis: 0px;
flex-grow: 1;
margin: 5px;
height: 100px;
background-color: blue;
}
<div class="parent">
<div class="child"></div>
<div class="child"></div>
<div class="child"></div>
</div>
https://jsfiddle.net/4t8029q8/1/
这就是我想要的,让弹性项目永远不会溢出弹性容器,即使它导致页面需要水平滚动。
注意:我还有其他更复杂的逻辑需要 flex-basis: 0px 和 flex-grow: 1,因此无法删除这些行。
【问题讨论】: