如何实现div的高度100%填充

Posted whs5280

tags:

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

就我们所以了解的:一个div块级元素没有主动为其设置宽度和高度,浏览器会为其分配可使用的最大宽度(比如全屏宽度),但是不负责分配高度,块级元素的高度是由子元素堆砌撑起来的。

例如:

<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title></title>
    <style type="text/css">
        html,body{
            margin: 0;
            padding: 0;
        }
        .demo{
            width: 100%;
            height: 100%;
            background-color: #D9C666;
        }
    </style>
</head>
<body>
    <div class="demo">
        看看我的高度
    </div>
</body>
</html>

实现效果:

技术分享图片

-------------------------------------------------------------------------------------------------------------------------

此时的情况是父元素高度依赖子元素堆砌撑高,因此demo中的{height:100%;}是不起作用的。元素高度百分比需要向上遍历父标签要找到一个定值高度才能起作用,如果中途有个height为auto或是没有设置height属性,则高度百分比不起作用。

需要找到顶级父元素(即浏览器的高度),可以使用js获取浏览器的高度再进行设置,当然亦有简单的办法

技术分享图片

实现效果:

技术分享图片

 

以上是关于如何实现div的高度100%填充的主要内容,如果未能解决你的问题,请参考以下文章

div用绝对值填充父级的剩余高度

Flex Div 的高度不是 100%

css有用的代码片段

DIV+CSS布局问题 100%的页面上边固定高度下面div:height100%填充为左右结构左边固定宽度右边width:100%

绝对位置的页面填充高度

引导程序。 div 100% 其父元素的高度 [重复]