浮动图像向左改变容器div的高度

问题描述:

当我尝试运行以下命令:浮动图像向左改变容器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的高度?

感谢,

乔尔

添加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

您需要的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