2011-03-13 406 views
1

我有這樣的東西:浮動:左問題

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

而且DIV1似乎已經爲0x0大小,而不是爲100x100。爲什麼?

+1

也許你需要清理你的浮動。試試''清除:兩者;「 />'裏面''div1「'在另一個DIV之後。 – Orbling 2011-03-13 13:20:19

+0

@Orbling爲什麼不能在#div1元素上使用'overflow:auto'? – 2011-03-13 13:40:28

+0

@ŠimeVidas:這是一個很好的做法,一般清理浮體。 – Orbling 2011-03-13 13:49:53

回答

7

#div1本身沒有浮動,所以它似乎並不包含內部的div。浮動需要normal flow中的一個元素,因此#div1種不知道它的孩子了。

要做到這一點,你也需要浮動#div1,或給它overflow: hidden使其包含其內部div的浮點數(或使用clearfix)。

+0

什麼是clearfix? – 2011-03-13 13:24:38

+3

@ Bogdan0x400:clearfix是一個您使用的標記,除了清除浮動之外不會執行任何操作。例如'
或'

' – BoltClock 2011-03-13 13:25:32

2

只需設置

#div1{ 
    overflow:hidden; 
} 

或者添加

<br style="clear:both" /> 

就在#div1結束標記之前。