1. 程式人生 > >讓高度百分比,height:100% 生效的3種方法

讓高度百分比,height:100% 生效的3種方法

核心原理;
height:100%這個概念是子節點相對於父容器而言;所以要讓此屬性生效,必要的一點就是:父容器必須具有具體的高度資訊;

直接在<body>的子節點(如div中)寫height:100%是不會生效的,因為此時<body>的高度是不確定的,預設是auto;

方法一
給從根的父容器到子容器的所有容器都設定好百分比高度資訊

比如:


<!DOCTYPE html>
<html lang="zh-cn" style="height:100%;width:100%;overflow:hidden;">
    <head>
        <meta charset="utf-8" />
        <meta http-equiv="X-UA-Compatible" content="IE=9;IE=8;chrome=1" />
        <title>132</title>        
    </head>
    <body style="height:100%;width:100%;padding:0;margin: 0;">
 
        <div style="height:100%;width:100%;background-color:#787878" >
           
        </div>
    </body>
</html>

這樣從根的Html開始,到字的div結束,全部都具有百分比高度,這樣,就都能夠獲取到高度資訊;

方法二
 給父容器設定具體的高度資訊;

比如直接寫死在樣式中,或者用javascript來設定;

示例,用js使<body>得到高度,從而使其中的div全屏:


<!DOCTYPE html>
<html lang="zh-cn">
    <head>
        <meta charset="utf-8" />
        <meta http-equiv="X-UA-Compatible" content="IE=9;IE=8;chrome=1" />
        <title>132</title>        
    </head>
    <body id="body" style="padding:0;margin: 0;">
        <div style="height:100%;width:100%;background-color:#787878" >
        
        </div>
    </body>
    <script type="text/javascript">
        var screenHeight=document.documentElement.clientHeight;
        var screenWidth=document.documentElement.clientWidth;
        var body=document.getElementById('body');
        body.style.width=screenWidth+"px";
        body.style.height=screenHeight+"px";
    </script>
</html>

方法三
給父容器設定位置資訊,讓其得到高度資訊;

示例,用css使body得到高度,從而使其中的div全屏:


<!DOCTYPE html>
<html lang="zh-cn">
    <head>
        <meta charset="utf-8" />
        <meta http-equiv="X-UA-Compatible" content="IE=9;IE=8;chrome=1" />
        <title>132</title>        
    </head>
    <body style="position:absolute;top:0px;left:0px;right:0px;bottom:0px;padding:0;margin: 0;">
        <div style="height:100%;width:100%;background-color:#787878" >
           
        </div>
    </body>
</html>

轉載於:https://blog.csdn.net/huitoukest/article/details/51375345