# 自动填充高度.html
<div class="box"> | |
<div class="header">头部</div> | |
<div class="auto-fill">自动填充</div> | |
</div> |
# 使用 flex(推荐)
- 兼容性好;
- 只需关注自动填充的 div,无需考虑其他 div 的高度
.box { | |
display: flex; | |
flex-flow: column; | |
height: 100%; | |
} | |
.header { | |
background: dodgerblue; | |
height: 30px; | |
} | |
.auto-fill { | |
background: wheat; | |
flex: 1 | |
} |
# 使用绝对定位(一般)
- 无兼容问题;
- 但需要知道其他 div 已占据的高度
.box { | |
height: 100%; | |
} | |
.header { | |
background: dodgerblue; | |
height: 30px; | |
} | |
.auto-fill { | |
background: wheat; | |
position: absolute; | |
top: 30px; | |
bottom: 0px; | |
} |
# 使用 calc 函数(一般)
- 无兼容问题;
- 但需要知道其他 div 已占据的高度;
.box { | |
height: 100%; | |
} | |
.header { | |
background: dodgerblue; | |
height: 30px; | |
} | |
.auto-fill { | |
background: wheat; | |
height: calc(100% - 30px); | |
} |