【发布时间】:2016-07-11 00:19:57
【问题描述】:
在下面的代码和 jsfiddle 中,flexbox 的比例随着内容的变化而变化。我觉得我不明白 flexbox 的真正用途。如果我们为我们想要的比例提供flex-grow 属性,为什么框会随着内容而增长?
请注意,当dataDiv 中有新的 span 内容时,内容会破坏比例。当你删除dataDiv里面的span时,你可以观察到它是怎样的预期比例。为什么会出现这种情况?
https://jsfiddle.net/4shaz5oy/
.container {
display: flex;
flex-flow: row wrap;
height: 100vh;
}
.mapBox {
flex: 2;
background-color: red;
}
.controlBox {
flex: 1;
display: flex;
flex-direction: column;
background-color: green;
}
.controlPanel {
flex: 1;
max-height: 33%;
background-color: yellow;
padding: 5px;
text-align: center;
}
.dataPanel {
flex: 2;
max-height: 66%;
background-color: blue;
padding: 5px;
}
<div class="container">
<div class="mapBox"></div>
<div class="controlBox">
<div class="controlPanel">
<div class="buttonDiv"></div>
<div class="buttonDiv"></div>
<div class="buttonDiv"></div>
</div>
<div class="dataPanel">
<div class="dataDiv">
<span>yoyoyoyasdasdadsadasdasdasdasdasdasdasdadada</span>
</div>
</div>
</div>
</div>
【问题讨论】: