我只想补充一下-其他大多数答案对我来说效果很好;但是,花了很长时间才让他们工作!
这是因为设置height: 100%
仅会拾取父div的高度!
因此,如果您的整个html(在主体内部)如下所示:
<div id="holder">
<header>.....</header>
<div id="body">....</div>
<footer>....</footer>
</div>
那么以下内容就可以了:
html,body{
height: 100%
}
#holder{
min-height: 100%;
position:relative;
}
#body{
padding-bottom: 100px; /* height of footer */
}
footer{
height: 100px;
width:100%;
position: absolute;
left: 0;
bottom: 0;
}
...因为“持有人”将直接从“身体”获得身高。
感谢我的头疼,我的答案就是我最终开始工作!
然而。如果您的html嵌套较多(因为它只是整个页面的一个元素,或者它位于某个列中,等等),则需要确保每个包含元素height: 100%
的div上都已设置。否则,关于高度的信息将在“身体”和“持有人”之间丢失。
例如,在下面的示例中,我向每个div添加了“ full height”类,以确保高度一直下降到我们的header / body / footer元素中:
<div class="full-height">
<div class="container full-height">
<div id="holder">
<header>.....</header>
<div id="body">....</div>
<footer>....</footer>
</div>
</div>
</div>
并记住在CSS中的全高类上设置高度:
#full-height{
height: 100%;
}
那解决了我的问题!
position:fixed
,尽管那并不是最好的方法