Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
默认情况下,Chrome正文和html高度为100%_Html_Css_Google Chrome - Fatal编程技术网

默认情况下,Chrome正文和html高度为100%

默认情况下,Chrome正文和html高度为100%,html,css,google-chrome,Html,Css,Google Chrome,假设您希望内容占据视口高度的100%。您过去必须将html和body元素的高度设置为100%。通过这种方式,您还可以给出主体元素百分比高度的直接后代,如下所示: <head> <style> html, body { height: 100% } body { margin: 0; } header, footer { height: 10% } main { height: 80% } <style> </hea

假设您希望内容占据视口高度的100%。您过去必须将
html
body
元素的高度设置为
100%
。通过这种方式,您还可以给出
主体
元素百分比高度的直接后代,如下所示:

<head>
  <style>
    html, body { height: 100% }
    body { margin: 0; }
    header, footer { height: 10% }
    main { height: 80% }
  <style>
</head>
<body>
  <header>Intro</header>
  <main>The Main Stuff</main>
  <footer>Additional Details</footer>
</body>

html,正文{高度:100%}
正文{页边距:0;}
页眉、页脚{高度:10%}
主{高度:80%}
简介
主要内容
其他细节
在Chrome中设置直接子代的百分比高度不再需要
html,body{height:100%}
声明。然而,Firefox中仍然需要它

这是2月初Chrome最新更新中的一个bug吗?或者默认情况下,
高度
现在设置为
100%


我只是想澄清一下,我不是在问如何实现基于百分比的布局。我更想问的是Chrome对
body
html
元素默认高度的实现。对于新手开发人员来说,这可能会非常混乱,他们可能会认为
html
body
不需要明确定义高度,如果他们希望
body
的直接后代具有基于百分比的高度。

我不能说是否存在缺陷,但为了确保元素占据视口高度的100%,您应该真正使用
100vh

html, body {
  height: 100vh;
}
基于百分比的高度始终相对于直接父级。由于没有
的父级,您希望它的默认高度为0px。一些浏览器可能会以不同的方式解释如何处理
的父项,因此对
标记使用
vh
测量值是最安全的

请注意,您可以在任何元素上使用
vh
单元,而不仅仅是


希望这有帮助

我不能说是否存在bug,但为了确保元素占据视口高度的100%,您应该真正使用
100vh

html, body {
  height: 100vh;
}
基于百分比的高度始终相对于直接父级。由于没有
的父级,您希望它的默认高度为0px。一些浏览器可能会以不同的方式解释如何处理
的父项,因此对
标记使用
vh
测量值是最安全的

请注意,您可以在任何元素上使用
vh
单元,而不仅仅是


希望这有帮助

在您提供的代码中,
html
body
占据了页面高度的100%,因为没有
doctype
声明。如果未提供
doctype
,大多数浏览器将恢复为“怪癖”模式


如果添加HTML5 doctype(
),您会发现主体和html元素在没有明确高度的情况下不再占据整个视口。

在您提供的代码中,
html
body
占据了页面高度的100%,因为没有
doctype
声明。如果未提供
doctype
,大多数浏览器将恢复为“怪癖”模式


如果添加HTML5 doctype(
),您会发现如果没有明确的高度,主体和html元素将不再占据整个视口。

这实际上取决于浏览器。如果必须使用百分比高度,最安全的方法是在父对象上定义高度。否则,一个更简单的选择就是
main{height:80vh;}
header,footer{height:10vh;}
。这实际上取决于浏览器。如果必须使用百分比高度,最安全的方法是在父对象上定义高度。否则,一个更简单的选择就是
main{height:80vh;}
header、footer{height:10vh;}
。如果使用的是视口百分比单位,则不需要在
html
body
上指定高度。你可以直接将它应用到你的内容元素上(就像使用像素高度一样)。没错,而且我的答案不是很清楚。我刚刚更新了答案,还提到:)如果使用视口百分比单位,则不需要在
html
body
上指定高度。你可以直接将它应用到你的内容元素上(就像使用像素高度一样)。没错,而且我的答案不是很清楚。我刚刚更新了答案,还提到:)