2012-04-04 57 views
1

我有一些要顯示的元素。但遺憾的是,它不能按我想要的方式工作。CSS Float填充空格之間的差距

這裏是它如何工作的: http://jsfiddle.net/lukasoppermann/H3Nmg/7/

我想它使紅色框填寫綠框和左側之間的空間。 它需要是動態的。容器的寬度可能會改變,元素的順序可能會有所不同。

我當然更喜歡只用css的方式,但js也很好。有沒有人有任何提示?

// EDIT 爲了澄清,該元件不能進行硬編碼或浮動到正確的,因爲元件的數量,包裝的寬度,並且還綠色元件的數量可以變化。元素的順序也會有所不同。我基本上需要元素自動排列而沒有任何整體。

那就是我想要的。

http://img526.imageshack.us/img526/613/boxsorting.jpg

+1

退房http://masonry.desandro.com/ – j08691 2012-04-04 02:20:04

+0

我會檢查出來,並取回,看起來很有希望。 – 2012-04-04 02:32:42

+0

您可能可以使用'column-count'。它只適用於真正的瀏覽器(無IE),您需要使用媒體查詢來減少較小分辨率的列。你可以在這裏看到它的行動:http://www.towejewels.com/jewels/ – powerbuoy 2012-04-04 02:50:54

回答

0

嗨,你可以定義三個格爲這樣

CSS

.container{ 
    float:left; 
    margin-left:10px; 
} 
.top{ 
    width:100px; 
    height:100px; 
    background:red; 
} 


.middle{ 
    width:100px; 
    height:100px; 
    background:darkred; 
    margin-top:5px; 
} 
.right{ 
    width:100px; 
    height:200px; 
    background:lightgreen; 
    float:left; 
    margin-left:10px; 
} 

.bottom{ 
    float:left; 
    width:100px; 
    height:100px; 
    background:green; 
    margin-left:10px; 
} 

HTML

<div class="container"> 
    <div class="top"></div> 
    <div class="middle"></div> 
</div> 

<div class="right"></div> 

<div class="bottom"></div> 
​ 

住在這裏演示http://jsfiddle.net/rohitazad/wyvrt/1/

0

怎麼樣使用float:rightrow-two股利。如果需要,您可能必須修復填充以使綠色更接近紅色。這裏http://jsfiddle.net/H3Nmg/9/

+0

對不起,那是不行的,因爲元素可以在不同的順序,不同數量的元素,並且包裝可以有不同的尺寸。對於例如如果包裝較大,第二個紅色元素應該在綠色的右邊,而第三個紅色元素應該在左邊。 – 2012-04-04 02:13:20

+0

@LukasOppermann也許你提供了一些預期輸出的截圖 – Daveo 2012-04-04 02:22:48