Html 我无法将样式属性高度应用于div

Html 我无法将样式属性高度应用于div,html,css,flexbox,Html,Css,Flexbox,我已经编写了以下代码。我想制作一个div‘display:flex’,并添加两个分区,一个宽200px,一个宽100% 如果要覆盖所有屏幕,则需要为HTML标记的高度和正文标记的高度分别指定100%和100% 首先,使用内联样式不是一个好主意。它们很难读取/编辑,也很难覆盖 其次,在父div(显示为flex的div)上设置100%的高度高度:100%必须相对于容器的高度。在你的例子中,html,body没有任何高度,因为你没有任何内容 第三,在子div上设置height:auto。heigh

我已经编写了以下代码。我想制作一个div‘display:flex’,并添加两个分区,一个宽200px,一个宽100%


如果要覆盖所有屏幕,则需要为HTML标记的高度和正文标记的高度分别指定100%和100%


首先,使用内联样式不是一个好主意。它们很难读取/编辑,也很难覆盖

其次,在父div(显示为flex的div)上设置100%的高度<代码>高度:100%必须相对于容器的高度。在你的例子中,
html,body
没有任何高度,因为你没有任何内容

第三,在子div上设置
height:auto
height:auto
取决于元素的内容,但没有任何内容

我猜您希望父div的高度为屏幕的100%。您可以使用视口高度(
100vh
),也可以将100%的高度设置为body,如下面的示例所示

body,
html{
身高:100%
}

当您使用
auto
时,它会得到元素内部内容的高度。
div
没有内容,所以高度等于0

您可以使用
最小高度


另一种解决方案是使用
vh
您可以设置
高度:100vh
而不是
高度:100%

height: 100vh;

这可能是因为有一个更严格的“heigth”属性,即div位于其他标记中。您可以尝试在.css文件中创建样式。更多的是HTML5的方式和最佳实践。如果在新的html文件中仅尝试此代码,则可以看到div的高度为100%:

<!DOCTYPE html>
<html>
<head>
</head>
<body>
<div style="clear:both;display:flex; height: 100%;">
    <div style="width:400px; background-color: red;
        height:auto;">
        Hello 1
    </div>
    <div style="width:100%;
        background-color: black;
        height:auto;">
        Hello 2
    </div>
</div>

</body>
</html>

你好1
你好2

您的div没有任何内容,因此高度:auto;高度结果为0px。你可以阅读这篇文章,也可以在网上搜索,你会发现很多关于css的教程