即使高度为100%,html元素也没有达到浏览器的高度

时间:2016-06-01 10:33:21

标签: html css css3

当我检查我的html元素时,我发现即使我在我的css表中将高度设置为100%,它也没有占用100%的浏览器视图。我用chrome和firefox测试它并且它是相同的。浏览器添加display:block到我的html元素可能是原因吗?

4 个答案:

答案 0 :(得分:3)

  

它没有采用100%的浏览器视图

如果您严格要求该元素采用浏览器视图'或视口的高度,只需执行以下操作:

#element {
  height: 100vh;
}

将元素设置为视口高度的100%。检查this page以获取浏览器支持信息。

答案 1 :(得分:0)

您没有提供代码/示例,但我猜您的htmlbody也没有height: 100%。尝试将它们添加到您的CSS

html, body{
    height: 100%;
}

请注意,高度百分比是指元素的父级,因此,如果元素的父级仅占页面的30%,则元素也将为30%。

答案 2 :(得分:0)

确保您的HTML和正文为100%;



body, html {
    height: 100%
  }




答案 3 :(得分:0)

我发现这种情况的最常见原因是您忘记为 height: 100%html元素设置body

请记住百分比是一个相对单位,在找到已声明绝对高度/宽度的父级之前,它无法工作。此外,如果父级的高度/宽度设置为百分比,则该计算值将用作计算子级百分比的基础。

此外,在执行此操作时,您可能需要考虑考虑box-sizing,因为如果您将高度设置为100%,然后将边距和填充应用于该元素,它将会占用超过它父母身高的100%。

假设你的标记就像......

<html>
    <body>
        <div class="my-element"></div>
    </body>
</html>

如果您仍想使用百分比作为长度值,请执行。

html,
body, 
.my-element {
    height: 100%;
}

或使用更好的长度单位vh;

.my-element {
    height: 100vh;
}

在此处详细了解vh - https://developer.mozilla.org/en/docs/Web/CSS/length

在此处检查浏览器兼容性。 - http://caniuse.com/#feat=viewport-units