如何告诉Flexbox布局行占用浏览器窗口中的剩余垂直空间?
我有一个3行的flexbox布局。前两行是固定高度,但第三行是动态高度,我希望它可以增长到浏览器的整个高度。
我在第3行中有另一个flexbox,它创建了一组列。为了适当地调整这些列中的元素,我需要它们了解浏览器的整个高度-例如背景颜色和底部的项目对齐。主要布局最终将类似于以下内容:
.vwrapper {
display: flex;
flex-direction: column;
flex-wrap: nowrap;
justify-content: flex-start;
align-items: stretch;
align-content: stretch;
//height: 1000px;
}
.vwrapper #row1 {
background-color: red;
}
.vwrapper #row2 {
background-color: blue;
}
.vwrapper #row3 {
background-color: green;
flex 1 1 auto;
display: flex;
}
.vwrapper #row3 #col1 {
background-color: yellow;
flex 0 0 240px;
}
.vwrapper #row3 #col2 {
background-color: orange;
flex 1 1;
}
.vwrapper #row3 #col3 {
background-color: purple;
flex 0 0 240px;
}
<body>
<div class="vwrapper">
<div id="row1">
this is the header
</div>
<div id="row2">
this is the second line
</div>
<div id="row3">
<div id="col1">
col1
</div>
<div id="col2">
col2
</div>
<div id="col3">
col3
</div>
</div>
</div>
</body>
我尝试添加一个height
属性,当我将其设置为一个硬数字时,该属性确实起作用,但当将其设置为时,该属性却不起作用100%
。我知道这height: 100%
是行不通的,因为内容没有填满浏览器窗口,但是我可以使用flexbox布局复制想法吗?
2
支持视觉效果,您是如何制作的?
—
乔纳森
OmniGraffle和Pixelmator用于修饰。
—
Evil Closet Monkey