float:左边的问题

时间:2011-03-13 13:18:43

标签: html css css-float

我有类似的东西:

<div id="div1">
<div style="float:left;width:100px;height:100px;"></div>
</div>

div1似乎有0x0大小而不是100x100。为什么呢?

3 个答案:

答案 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结束标记之前。