父div的高度是零,即使它有有限高度的孩子

我有一个网站,其布局已在图中显示。 主体由一个main container ,它由headerparent divfooterparent div进一步包含如图所示的几个child div

网页布局

所有的child div高度是有限的问题。 但是parent div除了子div以外不包含其他内容。 所有的子div都可见,但父div的高度显示为零。 我也没有通过给予一些预先确定的价值来确定母公司的高度,因为如果未来孩子的数量增加可能会导致错误。

由于父div的大小为零的问题是,我的页脚div正在上升,并与父div的内容冲突。 这可以通过给予一个合适的利润来解决,但这不是我正在寻找的解决scheme。

任何人都可以build议我一些方式,使父div的高度自动根据孩子div的高度存在的变化。

如果我不清楚询问我的疑问,请发表评论!

好像你有一个clearfix类的情况 。

所以我猜你正在浮动子div,这就是为什么父div的高度为0.当你使用浮动,父母不适应的高度的子。

但是添加类'clearfix'(当然你需要在你的样式表中),它会添加一个'。' 最后(当然是看不见的),你的父母会神奇地拥有正确的身高。

请注意,它是跨平台的,兼容的IE6 +,Chrome,Safari,Firefox,你的名字!

 .clearfix:after { content: "."; display: block; clear: both; visibility: hidden; line-height: 0; height: 0; } .clearfix { display: inline-block; } html[xmlns] .clearfix { display: block; } * html .clearfix { height: 1%; } 

尝试将以下内容添加到您的样式表中:

 #parentdiv:after { content: " "; display: block; clear: both; } 

正如代达罗斯在他的评论中所build议的那样,你可能是在浮动子div。 如果是这样,上面的行修复它。

浮动的问题是他们的父元素“忽略”他们。

上面的代码创build了一个(伪)元素并将其插入到#parentdiv中,该元素被推下所有浮动的div。 然后,父div虽然忽略了浮动的孩子,但并不忽略这个伪元素 – 按照它应该的方式行事,它扩展为包含伪元素。 现在,由于伪元素低于所有浮动的子元素,所以父元素发生,或者更好,似乎也“包含”浮动的子元素 – 这真的是你想要的。