2019-07-15
描述
在当前屏幕中,让最后一个元素占满可用的剩余空间,当窗口大小变化时也需如此。
HTML
<div class="container">
<div>Div 1</div>
<div>Div 2</div>
<div>Div 3</div>
</div>
CSS
html,
body {
height: 100%;
margin: 0;
}
.container {
height: 100%;
display: flex;
flex-direction: column;
}
.container > div:last-child {
background-color: tomato;
flex: 1;
}
Demo
说明
height: 100%
设置容器高度为屏幕高度display: flex
启用 flex 盒子模型flex-direction: column
设置 flex 盒子模型中的子元素按照从上到下的方向进行排列flex-grow: 1
flex 盒子模型内的该元素将会占据父容器中剩余的空间- 父元素必须有一个设定的高度
flex-grow: 1
可以应用到第一个或者第二个或者任意一个子元素上,被设置了该属性的子元素将会占据所有剩余的可用空间
浏览器支持
支持率:99.5%
支持情况:https://caniuse.com/#feat=flexbox
⚠️:进行所有支持时需要提供前缀