html垂直自适应布局

项目中遇到如下需求

1
2
3
4
5
6
7
8
<body>
<!-- top 盒子内容为内部撑开 -->
<div class="top">
<!-- 未知高度的一些元素 -->
</div>
<!-- 目标盒子 需要自动填满屏幕剩余高度-->
<div class="target"></div>
</body>

解决方案

1
2
3
4
5
6
7
8
9
10
11
body,html{
height:100%;
width:100%;
}
body{
display:flex;
flex-direction: column
}
.target{
flex:1;
}