html的height:100%;高度是多少
html設置height:100%;表示一屏高度,類似於100vh。未設置則根據子元素的高度來自適應高。在實際應用中,設置頁面高度為1屏幕高度通常設置:
html,body{
height:100%;
margin:0;
padding:0;
}
可以通過案例設置來查看html的實際高度。通過案例中改變窗口的高度大小,可以發現html的高度也是在變換的。
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<title>html設置高度100%</title>
<style>
html,
body {
height: 100%;
background-color: pink;
margin: 0;
padding: 0;
}
#wrap {
width: 50%;
height: 50%;
background-color: purple;
}
</style>
<script>
/* 獲取html元素的高度
*每次發生窗口大小改變,就獲取html的高度。可以發現html的高度隨着窗口可用區的高度增大而增大,減小而減小。
*/
window.onload = function () {
window.onresize = function () {
var oHtml = document.getElementsByTagName('html')[0];
var Htmlheight = oHtml.offsetHeight;
console.log(Htmlheight);
}
}
</script>
</head>
<body>
<div id='wrap'>
</div>
</body>
</html>

思考:設置整個頁面的高度為一窗口可用區的一屏幕高度時,為什么還要設置body的高度為100%?
因為body如果為默認設置,它的高度值為auto,會根據子元素的高度來支撐高度。倘若子元素的高度設置為依賴父元素(body)的高度來支持的百分比數值,那么就形成了悖論。最后瀏覽器找不到計算高度的情況下,body的高度實際被設置為0。
