2010-10-13 36 views
12

當我嘗試運行以下命令:浮動圖像向左改變容器div的高度

​<div id="container"> 
    //This is a 200x200 image   
    <img src="http://dummyimage.com/200x200/CCC/000" /> 
</div>​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​ 

與CSS:

​#container { 
    background:#000; 
} 

我得到一個黑色背景的容器像我想要一個DIV 。

然而,當我添加以下的CSS:

#container img { 
    float:left; 
} 

好像容器不檢測它裏面的形象和它的高度設置爲最小(在這裏可以看到:http://jsfiddle.net/wc4GJ/)。

如何將圖像向左弄亂容器DIV的高度?

感謝,

喬爾

回答

26

添加overflow:auto;#container

(說明如下)

+0

應該添加一個圖像(具有固定的寬度和高度)作爲DIV的溢出? – Joel 2010-10-13 08:09:19

+6

因爲浮動將元素從流中取出,這意味着父元素不再具有任何確定其高度的內容。添加溢出:hidden/auto;向父母確保其正確包裝其內容。 – PatrikAkerstrand 2010-10-13 08:14:57

+0

我同意你^^ – MatTheCat 2010-10-13 08:16:21

0

您需要的IMG後添加清除用div:

​<div id="container"> 
    //This is a 200x200 image   
    <img src="http://dummyimage.com/200x200/CCC/000" /> 
    <div class="clearing"></div> 
</div>​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​ 

而且在CSS:

.clearing { clear: both; } 
+0

這是什麼原因?容器DIV不應該識別內部的圖像,即使它漂浮在左邊? – Joel 2010-10-13 08:06:35

+0

我很喜歡將youtube視頻嵌入到聚合物容器列表中,其中溢出:auto沒有完成這項工作(視頻已展開,列表中的後續容器被撞下,但嵌入容器未展開) – user2778525 2014-10-26 23:28:58