css – 如何使div垂直展开以将内容包装在其中?

前端之家收集整理的这篇文章主要介绍了css – 如何使div垂直展开以将内容包装在其中?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个div,它包裹了动态生成的许多图像。我不知道图像列表有多高。我的问题是包含动态生成的图像的div不像它的任何内容的容纳 – 我希望它扩展到图像列表的高度。每个图像本身都被包裹在一个div中。

这是包装div:

.block { padding:10px; margin-top:10px; height:auto; background-color:#f9f9f9; }

这是图像中的(其中之一)动态生成标记

<div class="block">
<div style="float: left; padding: 2px 2px 2px 2px;"><IMG SRC="45.jpg" BORDER="0"/></div>
.....

如何让这个区块div与图像一起向下延伸?

谢谢

解决方法

您观察到的问题发生在浮动元素时,会从元素的正常流动中移除元素(通过正常流动,我的意思是元素将不会出现样式)。当你漂浮一个元素时,其他元素仍然在正常的流程中将会简单地忽略它,而不会为它腾出空间,这就是为什么你的块div不会扩展你的图像的全部高度。

有几个不同的解决方案:

1)添加规则overflow:hidden;到块类:

.block { overflow: hidden; padding:10px; margin-top:10px; height:auto; background-color:#f9f9f9; }

2)在图像清除浮动后添加一个元素:

<div class="block">
    <div style="float: left; padding: 2px 2px 2px 2px;"><IMG SRC="images/login1.png" BORDER="0"/></div>
    <div style="clear: both;"></div>
</div>

两者都会奏效,但我更喜欢第一个解决方案。

猜你在找的CSS相关文章