2009-06-25 67 views
3

我正在尋找一種方法來強制浮動或絕對定位的元素留在流中的CSS。我幾乎認爲css是愚蠢的,因爲沒有像flow這樣的東西:on flow:關閉以保持流動或將其取出。強制浮動或絕對位置的元素留在CSS中的「在流」

問題是我想要一個高度可變的div元素,div的左邊有一個浮動圖像,我希望div至少是圖片的高度。我也希望它至少足夠大以容納流中的所有文本(這顯然不是問題)。

我需要圖片可以在大小上有所不同。我目前正在使用jQuery解決方案,但它的行爲。由於我不喜歡調試,我覺得應該是是某種CSS解決方案,我問。

任何人都知道我該怎麼做?

+1

你能給出一個工作演示的鏈接嗎? – rahul 2009-06-25 06:44:27

+1

設置位置:絕對會像說流量一樣:關閉。您將流量中的元素排除在外,因此您可以將其放在任何你想要的地方。 – peirix 2009-06-25 06:48:01

回答

2

我通常會去overflow: hiddenoverflow: auto

0

可能在您的情況下工作的黑客是在CSS清除屬性設置爲「Both」(或左側,因爲圖像位於左側)的其餘內容之後,在div內添加另一個元素。例如:

<br style="clear: both" /> 

這將強制浮動元素下方的元素,這將拉伸包含div。

+0

當元素已經位於浮動內容旁邊時,會導致問題。它並不能解決我的問題。 – 2009-06-25 17:41:34

1

而不是使用一個新的元素來清除div在最後,你可以將其添加到絕對div css;

overflow: auto; 

顯然 IE喜歡,所以你需要的寬度提供給它也玩不同。我假設絕對div有一個設定的寬度...所以你可以設置它的寬度。

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