html的height:100%;高度是多少


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。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM