天天看點

【CSS】解決div設定height高度為100%未生效的辦法

1、問題的發現:div設定height高度為100%卻未生效

<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        .contentDiv {
            width: 100%;
            height: 100%;
            background-color: #cccccc;
        }
    </style>
</head>
<body>
    <div class="contentDiv"></div>
</body>
           

檢視上面的代碼,結構很簡單,一個div,寬度和高度都設定100%,背景顔色設定了#ccc。

此時想象一下在浏覽器中應該顯示一個背景顔色為灰色的全屏的div,但是,結果并不是這樣,反而,此時div的高度是0!!!

2、問題的解決:

需要給html和body設定高度為100%,此時div設定高度100%才生效,代碼如下:

<style>
    html, body {
        width: 100%;
        height: 100%;
    }
    ......
</style>
           

3、問題的原因:

給div設定高度為100%時,是相對于父節點(此時div的父節點是body)設定的,如果此時隻設定body的高度為100%,結果發現body高度還是0!!!是以此時再要找到body的父節點(也就是html),也給它設定高度即可解決這個問題。

css