原因:我们知道在把盒子宽度自适应为浏览器窗口宽度,只需设置width:100%就可轻松解决问题,但是让盒子的高度自适应浏览窗口的高度并非那么容易,这是因为css内部计算的原因
<!-- 高度实际为字体大小 -->
<div class="box" style="width:100%;height:100%;background-color:red;">width:100%;height:100%;
</div>
解决方法一:设置父元素高度
html,
body {padding: 0;margin: 0;height: 100%;
}
备注:vue或者react等可以通过开发者模式查看当前父元素是谁
解决方法二:不用设置父元素高度,通过设置定位(fixed或absolute)解决
.box {/* position: fixed; */position: absolute;top: 0;left: 0;
}
在使用height: 100%;时需要注意的一些事项
-
margin 和 padding 会让你的页面出现滚动条,也许这是你不希望的。
-
如果你的元素实际高度大于你设定的百分比高度,那元素的高度会自动扩展。