在使用HTML代碼創建網頁,如果聲明瞭<!DOCTYPE html>,並且在代碼中有div設置了高度爲100%,可能會出現顯示不正常的情況。比如下面這個代碼:
<!DOCTYPE HTML> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <style type="text/css"> * {margin:0px;padding:0px;} div { background-color:red; width:200px; height:100%; } </style> </head> <body> <div></div> </body> </html>
顯示的結果是:啥都木有! Why?
原因在於html5標準要求高度或寬度設置成百分比時,參照的是父標籤。這句話理解了問題也就好辦了。<div>標籤的父標籤是<body>,我們會天真的認爲<body>標籤的高度不需要定義,恰恰是因爲<body>標籤的高度沒有定義所以才導致<div>顯示不正常。在css裏面添加一個參數 body {height:100%;},預覽,結果是:還是木有!
爲什麼呢?<body>標籤的高度雖然設置成100%了,但<body>標籤他爹是<html>標籤,這個標籤也是需要定義高度的。所以最終要添加的參數是html,body {height:100%;}
請注意了,html和body之間是逗號,不是空格。說明這是一個多標籤選擇器,不是派生選擇器。