<!DOCTYPE html>聲明下div高度100%的問題

在使用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之間是逗號,不是空格。說明這是一個多標籤選擇器,不是派生選擇器。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章