高度为100%的html,body和div

时间:2017-03-06 15:52:57

标签: html css

我有很多内容延伸到屏幕下方。在页面的顶部,我有一个包含“英雄形象”的div。 div填满了屏幕的高度。我通过设置实现了这一点:

html, body { height: 100%; }
.hero_div { height: 100%; }

但我不明白为什么会这样。

如果我从身体移除100%的高度,则高度为3978像素(整个页面/内容的高度)。但是身高100%,身体的高度只有653像素(屏幕的高度),但仍然显示低于这个653px的内容。

当然身高100%的身体应该是身体标签内所有内容/页面的高度(在这种情况下为3978px)?

2 个答案:

答案 0 :(得分:2)

  

当然,身高100%的身体应该是身体标签内所有内容/页面的高度

没有。 height: 100%表示"元素内容高度的100%"不是"元素内容高度的100%"。

HTML元素的容器(有效地)是视口。

  

但仍会显示此653px以下的内容。

overflow的默认值不是hidden

答案 1 :(得分:1)

这样看:

如果您将htmlbody限制为100%的高度,则会滚动内容,即“正文”的内容

如果您没有在“正文”上设置高度,body将具有其内容的完整高度,并将在HTML内滚动