身体高度没有填满页面[重复]

Posted

技术标签:

【中文标题】身体高度没有填满页面[重复]【英文标题】:body height does not fill page [duplicate] 【发布时间】:2016-02-18 23:50:54 【问题描述】:

我尝试在正文上设置 100% 的高度,如果没有内容,它可以工作,但有内容时,正文不会填满页面。

<html>
 <body>
 test body
     <div class="item"> asdasdasda sda sda sdas das d</div>
     <div class="item"> asdasdasda sda sda sdas das d</div>
     <div class="item"> asdasdasda sda sda sdas das d</div>
     <div class="item"> asdasdasda sda sda sdas das d</div>
     <div class="item"> asdasdasda sda sda sdas das d</div>
     <div class="item"> asdasdasda sda sda sdas das d</div>
     <div class="item"> asdasdasda sda sda sdas das d</div>
</body>

html 
    background: red;
    margin: 0px;
    padding: 0px;
    height: 100%;


body 
    background: white;
    max-width: 320px;
    height: 100%;
    margin: auto;


.item 
    height: 150px;

我快疯了!

JS 小提琴:http://jsfiddle.net/02dknpeo/2/

【问题讨论】:

我查过了。它有效。 您可以添加overflow:hidden; 以查看它的工作原理。 只是删除高度。将最小高度设置为 100% 【参考方案1】:

问题在于,无论内容是否溢出,正文都保持页面的高度。 使用min-height,如果内容不高于窗口,它将是页面高度,但如果是,它将增长以适应内容:

body 
    background: white;
    max-width: 320px;
    min-height: 100%;
    margin: auto;

http://jsfiddle.net/bv1aaub6/

【讨论】:

感谢您的解决方案!它不适用于我的代码,所以我发现这是由浮动 div 引起的。如果正文中有浮动 div,则此解决方案将不起作用,因此我不得不将浮动替换为 flex.... 难以置信。 @MaRco85 与浮动的技巧,你可以将他们的父母溢出设置为隐藏,在你的情况下bodyoverflow:hidden;,父母会成长以适应他们【参考方案2】:

body 元素上的100%height 改为min-height

Updated Example

在这样做时,body 元素将始终至少具有100% 的高度,而不是始终具有窗口的100% 高度(这就是您的问题所在)。

body 
    background: white;
    max-width: 320px;
    min-height: 100%;
    margin: auto;

【讨论】:

感谢您的解决方案!它不适用于我的代码,所以我发现这是由浮动 div 引起的。如果正文中有浮动 div,则此解决方案将不起作用,因此我不得不将浮动替换为 flex.... 难以置信。【参考方案3】:

您将 body 元素的高度限制为视口的高度。别。

body 
    /* height: 100% */

如果您需要它至少那么高,请使用min-height

Demo

【讨论】:

感谢您的解决方案!它不适用于我的代码,所以我发现这是由浮动 div 引起的。如果正文中有浮动 div,则此解决方案将不起作用,因此我不得不将浮动替换为 flex.... 难以置信。【参考方案4】:

只需从正文规则中删除 height:100%

jsFiddle example

【讨论】:

感谢您的解决方案!它不适用于我的代码,所以我发现这是由浮动 div 引起的。如果正文中有浮动 div,则此解决方案将不起作用,因此我不得不将浮动替换为 flex.... 难以置信。

以上是关于身体高度没有填满页面[重复]的主要内容,如果未能解决你的问题,请参考以下文章

绝对 DIV 高度 100%

UIScrollView 动态高度内容(自动布局)没有填满整个空间

未定义变量时计算css高度[重复]

垂直和水平居中 div 没有定义的高度 [重复]

【转】CSS实现div的高度填满剩余空间

css外层高度600px,里面div如何自适应填满高度?