我有类似的东西:
<div id="div1">
<div style="float:left;width:100px;height:100px;"></div>
</div>
div1似乎有0x0大小而不是100x100。为什么呢?
答案 0 :(得分:7)
#div1
本身没有浮动,因此它似乎不包含内部div
。浮动从normal flow中取出一个元素,因此#div1
种类不再知道它的孩子了。
要实现这一点,您还需要浮动#div1
,或者让它overflow: hidden
使其包含其内部div
的浮点数(或使用clearfix)。< / p>
答案 1 :(得分:3)
清除浮动:
http://blogs.sitepoint.com/2005/02/26/simple-clearing-of-floats/
更新
List Apart有一篇关于此类事情的好文章:http://www.alistapart.com/articles/css-floats-101/
来自文章:
...浮动元素最初是在正常流程中计算的,然后被删除,#container元素不会在其范围内考虑它,因此就好像它甚至不存在...
答案 2 :(得分:2)
只需设置
#div1{
overflow:hidden;
}
或添加
<br style="clear:both" />
在#div1结束标记之前。