我有一些Flexbox标记需要注意。所有的都按预期工作,只有最后一件事没有解决。我有一些以列布局的div,其中两个由内容或高度设置控制,而一个则没有受到控制。这个未受控制的div(在DEMO中为黄色)应该具有这样的高度,以填补其父div(绿色)中剩余的垂直空间。即使使用响应式设计缩放窗口,黄色div也应始终填充至绿色父div的底部。
<div class="flexbox">
<div class="col">
<h3>RED</h3>
<p>Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est.
Mauris placerat eleifend leo.</p>
<p>Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est.
Mauris placerat eleifend leo.</p>
<p>Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est.
Mauris placerat eleifend leo.</p>
</div>
<div class="col">
<div class="flexbox2">
<div>
<h3>GREEN</h3></div>
<div class="col1">
Set at responsive height 10 vw.
</div>
<div class="col1">
This div should adapt its height automatically to fill out the remaining space.
</div>
</div>
</div>
<style>
.flexbox {
display: -webkit-box;
display: -moz-box;
display: -ms-flexbox;
display: -webkit-flex;
display: flex;
-webkit-flex-direction: row;
-moz-flex-direction: row;
-ms-flex-direction: row;
flex-direction: row;
}
.flexbox .col {
flex: 1;
}
.flexbox .col:nth-child(1) {
background: red;
order: 0;
padding: 5px;
}
.flexbox .col:nth-child(2) {
background: green;
order: 1;
padding: 5px;
color: white;
}
.flexbox2 {
display: -webkit-box;
display: -moz-box;
display: -ms-flexbox;
display: -webkit-flex;
display: flex;
-webkit-flex-direction: column;
-moz-flex-direction: column;
-ms-flex-direction: column;
flex-direction: column;
padding: 5px;
}
.flexbox2 .col1 {
flex: 1;
}
.flexbox2 .col1:nth-child(2) {
background: orange;
height: 10vw;
padding: 5px;
}
.flexbox2 .col1:nth-child(3) {
background: yellow;
padding: 5px;
color: black;
}
</style>