2013-05-30 165 views
0

如何創建2列布局,1列固定寬度,另一列佔用剩餘空間?固定+流體佈局

Please see this demo

最初,我嘗試了一個流體佈局,但不喜歡左欄變得太小,所以我想保持它在一個恆定的寬度。

我試過setting the 2nd column's margin-left equal to the width of the first column,但這意味着第二列沒有擴展到所有可用空間。它只佔用盡可能多的空間,這不足以保持佈局的吸引力。

如何讓#right列填充#container中所有剩餘空間?

回答

1

最簡單的方法是display:table。這可能不是最好的方式,但它有效。你可以看到一個小提琴我與你的代碼中創建的位置:在你的CSS

http://jsfiddle.net/hp8Vg/1/

您也可以使用計算(),但不是作爲廣泛支持。

+0

感謝蒂姆。我想保持#container在960px,並#footer也。 – Steve

+0

那麼你真的不想要一個流體柱......你可以設置每一列的寬度。除非我不瞭解這個問題。表格佈局仍然可以工作,只需將表格的寬度固定爲像素而不是百分比。 –

+0

對不起。對於大型顯示​​器,我想要960px的#container。我在演示中進行了媒體查詢,在較小的屏幕寬度下將其更改爲95%。 – Steve

0

您可能要考慮使用media queries根據視口大小觸發其他CSS規則。

這應該做你問什麼:

@media only screen and (max-width: 960px) { 

    #right { float: none; width: 100%; } 

    #left { float: none; } 


} 
+0

謝謝尼爾斯。你可以看看970px下面會發生什麼:http://www.doig.com.au/test/2/ #right列在#left列周圍流動,打破了分歧,我需要保持這種分歧。 – Steve

+0

哦,我的錯誤。您還必須從媒體查詢中的#left中刪除浮動,否則右側列將自動換行。我會更新我的答案以解決這個問題。 –

+0

我做了這個改變。見http://www.doig.com.au/test/2/ divs分開。 – Steve