2011-03-31 82 views
1

我有一個塊元素向左浮動,其右側有各種塊元素。這些非浮動元素在它們背後顯示浮動元素。我想阻止這種情況發生。通常情況下,我會在元素上留下一個空白,但我希望浮動元素下方的元素使用容器的整個寬度(否則它將看起來像兩列,下面有白色空格浮動元素)。防止塊元素的背景在浮動內容後面流動

example of the issue I'd like to solve

我不能手哪些元素將是浮動元素下面,因爲它可能具有不同的高度(或根本不存在),這取決於在頁面上之前確定。

感謝您的閱讀!

回答

2

一種選擇是申請overflow:hidden到每一個正常的元素:

http://jsfiddle.net/sdleihssirhc/y2kG8/

IE6可能有麻煩... 7也是......我不記得了r究竟是誰以什麼方式吮吸。但也給這些元素zoom:1應該修復它。

+0

完美!非常感謝你sdleihssirhc! – 2011-04-01 13:22:43

1

你有沒有試過在浮動元素上使用display:inline-block?即 - http://jsfiddle.net/jordanlewis/krbpR/

+0

關閉,但未展開的元素不填充可用寬度(即寬度:自動)。謝謝回覆! – 2011-04-01 13:18:49

0

這是儘可能接近我能得到它。我認爲你所要求的可能是不可能的。

Live Demo

<style type="text/css"> 
#wrap { 
    background-color: #EEE; 
    overflow: auto; 
} 
.floated { 
    border: 1px solid #F00; 
    float: left; 
    padding: 5px; 
    height: 60px; 
    width: 20%; 
} 
.element { 
    background-color: #DDD; 
    border: 1px dashed #000; 
    display: inline-block; 
    float: left; 
    margin: 5px 0; 
    padding: 2px; 
    width: 75%; 
} 
</style> 

<div id="wrap"> 
    <div class="floated">floated element</div> 
    <div class="element">element</div> 
    <div class="element">element</div> 
    <div class="element">element</div> 
    <div class="element">element</div> 
    <div class="element">element</div> 
</div> 
+0

這是關於我得到的最好的。謝謝回覆。 – 2011-04-01 13:19:30