我有以下代码(从我的来源简化):
<div class="container">
<div class="body">
<div class="mainstuff">...</div>
<div class="secondarystuff">...</div>
</div>
<div class="footer">...</div>
</div>
问题在于,当浏览器呈现页面时,它会将.body
解释为具有0
高度,因此,页脚位于.mainstuff
和{{的顶部1}}。它像.secondarystuff
和.mainstuff
一样溢出.body。
如何为body设置属性,以便根据内容调整其大小? 如果内容不在元素内部,它可以工作,但似乎根据子div调整它的高度......
感谢
答案 0 :(得分:2)
请提供更多代码。
很可能你的内部DIV要么是浮动的,要么是绝对的。如果它们是浮动的,则向父div添加overflow:hidden
应调整大小以适合内部div。
根据您的描述,似乎mainstuff
和secondarystuff
似乎position:absolute
,而且可能不必如此。如果是,则应将position:relative
添加到您的body class div
答案 1 :(得分:0)
如果你是浮动元素,那么.body
(以及所有其他具有浮动子元素的元素)应该有这个CSS属性来正确地说明它们的高度:
overflow: auto;
通过查看该代码,您似乎试图制作一个粘性页脚。我使用这个CSS和HTML,因为它可以很好地修改:http://www.cssstickyfooter.com/
答案 2 :(得分:0)
虽然在大多数情况下设置溢出确实有效,但您不应该使用它,因为它会导致问题,因为CSS3变得更加普遍。您将至少遇到文本阴影和框阴影的显示问题。如果需要清除浮动,则应使用最新的clearfix方法。
http://fordinteractive.com/2009/12/goodbye-overflow-clearing-hack/
http://perishablepress.com/press/2009/12/06/new-clearfix-hack/