CSS系列:height:100%设置div的高度

Posted Haileezhang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CSS系列:height:100%设置div的高度相关的知识,希望对你有一定的参考价值。

一、描述

    html布局中body内第一个div盒子对象设置100%高度height样式,是无法成功显示100%高度的。这个是因为body高度默认值为自适应的,所以及时设置body第一个布局div高度为百分比也是无效的,因为div解析上级高度为0,自然div height 100%实际高度也为0。

浏览器根本就不计算内容的高度,除非内容超出了视窗范围(导致滚动条出现)。或者你给整个页面设置一个绝对高度。否则,浏览器就会简单的让内容往下堆砌,页面的高度根本就无需考虑。

    因为页面并没有缺省的高度值,所以,当你让一个元素的高度设定为百分比高度时,无法根据获取父元素的高度,也就无法计算自己的高度。换句话说,父元素的高度只是一个缺省值:height: auto;。当你要求浏览器根据这样一个缺省值来计算百分比高度时,只能得到undefined的结果。也就是一个null值,浏览器不会对这个值有任何的反应。

如果想让一个元素的百分比css高度height: 100%;起作用,你需要给这个元素的所有父元素的高度设定一个有效值


二、实现

html,body{height:100%}


三、去除body的margin

    body默认有margin-top和margin-bottom所以设置100%高度之后body多余的margin值显示不完整,出现下拉滚动条,要想正确显示的话就要对body设置margin为0.


以上是关于CSS系列:height:100%设置div的高度的主要内容,如果未能解决你的问题,请参考以下文章

div如何设置100%的高啊

CSS设置div层充满整个网页

怎么将div高度设置成body的100

在css中height:100%;不起作用!

Nuxt.js 中设置 div的css的 height 为100%

css让高度百分比,height:100% 生效的3种方法