2011-05-23 75 views
3

所以我有一個div,720像素寬,我與那些140px寬的div填充它,向左浮動。我希望能夠將這些div與包含div的左邊和右邊齊平。對齊浮動的div填滿整個空間

當然,問題是,當我把浮動的div保證金右,右邊緣將不排隊,由於是保證金。左邊距產生相同的結果,但在左邊。

有什麼辦法對付這個問題?

+1

所以......除去利潤?一個例子(甚至在jsfiddle)和/或圖像將會有很長的路要走。 – 2011-05-23 20:13:12

+0

如果你給它的利潤率,有沒有辦法把它刷新到邊界。除非你放置它們絕對這將反過來更壞,因爲現在他們不會在下除非你絕對指定它們的位置浮動彼此傷害。我可能是錯的,但根據我的經驗,它是如何工作的。 – robx 2011-05-23 20:16:35

回答

3

試試這個:Link

你可以把元素行和檢測第一,中間,並與這些CSS2選擇最後一個元素。您可以爲裏面的不同位置指定不同的邊距。

element:first-child { 

} 

element:last-child { 

} 

element .className { 
    margin-left: 6px; 
} 
+0

酷!這是否也在IE6 +中工作? – Fredrik 2011-05-23 21:22:19

+0

我真的結束了使用這個:[nth-child selector](http://api.jquery.com/nth-child-selector/),我從你的建議中得到了。精彩。它完美解決了。 – tbthorpe 2011-05-23 21:25:08

+0

我不確定它是否適用於IE6。沒有測試過它。 – John 2011-05-23 21:30:04

0

如果您使用的是服務器端語言生成這些div做這樣的事情,你可以計算出哪個項目是最後一行:

<div class="column <%if iteration % 6 == 0 %>last-in-row<%end%>"></div> 

,然後只設置樣式

.column { 
    margin-right: 10px; 
} 
.last-in-row { 
    margin-right: 0; 
}