讓元素高度撐滿整個頁面


 1 <!DOCTYPE html>
 2 <html lang="en">
 3 <head>
 4     <meta charset="UTF-8">
 5     <meta name="viewport" content="width=device-width, initial-scale=1.0">
 6     <meta http-equiv="X-UA-Compatible" content="ie=edge">
 7     <title>Document</title>
 8 </head>
 9 <style>
10     *{
11         margin: 0;
12         padding: 0;
13     }
14     html,body{
15         height: 100%;
16         width: 100%;
17     }
18     #page {
19       display: grid; /* 1.設置display為grid */
20       width: 100%;
21       height: 100%;
22       grid-template-areas: "head head"
23                            "nav  main"
24                            "nav  foot"; /* 2.區域划分 當前為 三行 兩列 */
25       grid-template-rows: 50px 1fr 30px; /* 3.各區域 寬高設置 */
26       grid-template-columns: 150px 1fr; 
27     }
28     
29     #page > header {
30       grid-area: head; /* 4. 指定當前元素所在的區域位置, 從grid-template-areas選取值 */
31       background-color: #8ca0ff;
32     }
33     
34     #page > nav {
35       grid-area: nav;
36       background-color: #ffa08c;
37     }
38     
39     #page > main {
40       grid-area: main;
41       background-color: #ffff64;
42     }
43     
44     #page > footer {
45       grid-area: foot;
46       background-color: #8cffa0;
47     }
48     </style>
49 <body>
50     <section id="page">
51         <header>Header</header>
52         <nav>Navigation</nav>
53         <main>Main area</main>
54         <footer>Footer</footer>
55       </section>
56 </body>
57 
58 </html>

如果要以百分比設置元素(div)的尺寸,必要以父元素的尺寸作為參考,如果父元素沒有設置尺寸,那么子元素(div)尺寸自然不會生效。

在怪異模式下,body可以作為根元素,設置它的高度為100%的時候(不考慮外邊距),body的高度取是瀏覽器的高度。
在標准模式下,html元素才是根節點,div的父元素是body,body的父元素是html,然后html設置為100%,取得是瀏覽器的高度,body高度設置為100%,得到的是html的的高度,所以最好同時設置html,body{height: 100%;width: 100%;}。
還可以直接設置元素為absolute布局height:100%也能生效


免責聲明!

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



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