直接使用如下代码设置div的宽度和高度时,div宽度会铺满屏幕,而高度为零。
<div style="width:100%;height:100%"></div>
原因:浏览器会直接计算窗口的宽度,作为容器宽度的缺省值。但是并不会计算窗口的高度,只是简单的向下堆砌。
解决方法:
1.为该元素的所有父元素设置宽度为100%。
<html style="height: 100%;padding: 0;margin: 0">
<body style="height: 100%;padding: 0;margin: 0">
<div style="height: 100%">
<body>
</html>
此时div高度为浏览器窗口打开时高度,(即不出现滚动条时的高度),当有其他内容过长导致滚动条出现时,该div高度不会占满窗口的高度。
2.为该div设置绝对定位。(position:absolute)
<div style="position: absolute;top: 0;bottom: 0"></div>
效果同上,超高时不会铺满屏幕。
3.设置绝对定位。(position:fixed)
<div style="position: fixed;top: 0;bottom: 0"></div>
此时不管界面内容有多高都会占满屏幕。