2010-09-16 66 views
1

Here’s what I'm working with.CSS/JS:不同高度的浮動塊元素?

正如你所看到的,我有很多塊元素,我想進入五列。

但是,由於它們的高度不同,因此它們對漂浮的反應不佳。 (因此頁面中間有一個巨大的洞。)

我知道我已經看到了一個JS解決方法,它計算了高度並將它們放在適合的位置,但是我不能我現在發現它 - 任何人都記得它,或有任何其他想法? ;)

回答

0

可以實際上乾脆把塊有clear:both

例子的風格,每5個浮動元素彌補你的情況:

<article class="bloggpost"></article> 
<article class="bloggpost"></article> 
<article class="bloggpost"></article> 
<article class="bloggpost"></article> 
<article class="bloggpost"></article> 
<div style='clear:both'></div> 
+0

顯然,一個偉大的小費中調用evenHeights($(".bloggpost"));;唯一不足的是,我仍然在最短的時間裏得到了一個空缺 - 我曾經看到過的雪人式JS解決方案,但不再存在,甚至不存在,甚至修復了這個問題 - 但卻是一個很好的提示! – 2010-09-16 00:46:27

0

如果你不介意依靠JS爲了適當的佈局,爲什麼不設置五個<div>元素,比如列,每個元素都有一定的寬度(如果你選擇,你可以給他們一個HTML類,然後設置它們的寬度)?您可以總計塊元素的高度,然後使用JS來告訴它要將多少個元素放入每列<div>。這可以在onresize事件中動態工作。代碼將非常容易編寫,甚至更多如果您使用jQuery。

0

如果你不介意的每一個元素是相同的高度最高試試這個功能(jQuery的):

function evenHeights(element) { 
    var x = 0; 
    $(element).each(function(){ 
     var h = $(this).height(); 
     if (h > x) x = h; 
    }); 

    $(element).each(function() { 
     var thumbHeight = x; 
     $(this).height(thumbHeight); 
    }); 
} 

和你$(document).ready(function()