强制浮动或绝对位置元素使用CSS保持“在流中”

时间:2009-06-25 06:38:19

标签: css css-float absolute

我正在寻找一种方法来强制浮动或绝对定位的元素留在css的流中。我几乎认为css对于没有像flow这样的东西是愚蠢的:在流程上:关闭以保持流量或将其取出。

问题是我想要一个具有可变高度的div元素,我在div的左边有一个浮动图像,我希望div至少是图片的高度。我还希望它至少足以容纳流中的所有文本(这显然不是问题)。

我需要图片能够改变大小。我目前正在使用jQuery解决方案,但它的表现。因为我不想调试,我觉得应该是某种CSS解决方案,我问。

任何人都知道我该怎么做?

3 个答案:

答案 0 :(得分:2)

我通常选择overflow: hiddenoverflow: auto

答案 1 :(得分:1)

不是使用新元素来清除最后的div,而是可以将其添加到绝对div css中;

overflow: auto;

显然 IE喜欢以不同的方式播放,因此您也需要提供宽度。我假设绝对div有一个设定的宽度...所以你可以把它设置为那个宽度。

.abs-div {
    position: absolute;
    overflow: auto;
    width: 160px; /* Replace with your width */
}

答案 2 :(得分:0)

在您的情况下可能起作用的黑客是在CSS清除属性设置为“both”的其余内容之后在div中添加另一个元素(或左侧,因为您的图像在左侧)。例如:

<br style="clear: both" />

这将强制浮动元素下方的元素,这将拉伸包含div。