为什么css身高100%不适用于普通div?

Nat*_*san 1 css

这是我的简单代码

<!DOCTYPE html>
<html>
    <head>
        <style>
            div{height:100%;width:100%;background:red;position:relative;}
        </style>
    </head>
    <body>
        <div></div>
    </body>
</html>
Run Code Online (Sandbox Code Playgroud)

CSS高度100%不适用于DIV.

我知道其他一些css代码来获取它.但为什么这段代码不起作用.如何在没有任何脚本的情况下处理高度100%和宽度100%.

swa*_*esh 7

为了%工作,你也需要设置高度parent element.

html, body {height: 100%}

来自文件 -

相对于包含块的高度计算.如果未明确指定包含块的高度,则该值将计算为auto.根元素(例如)上的百分比高度相对于初始包含块(其尺寸等于视口的尺寸).

有关详细信息,请访问 - MDN Percent Doc

所以在你的情况下,你可以这样做 -

<!DOCTYPE html>
<html>
    <head>
        <style>
            html,body{height:100%;}
        div{height:100%;width:100%;background:red;position:relative;}
        </style>
    </head>
    <body>
        <div></div>
    </body>
</html>
Run Code Online (Sandbox Code Playgroud)