2014-02-08 32 views
0

編輯2:另一種描述我想要的方式可能是:3列,固定左邊,展開中心,最小 - 最大右邊。我只是不想讓權利得到修復;當窗口縮小時,我希望它崩潰到一分鐘。我試着table s,而3-4的方式與div S和沒有什麼作品...CSS 3列中心擴展布局,摺疊很好


編輯3:這是我到目前爲止有:http://jsfiddle.net/Rw8BZ/

  1. 最佳居中,壞包裝。我希望粉紅色的元素在綠色之前收縮/包裹。
  2. 包裝好,寬度好,定心不好。表。也許可以使用保證金。
  3. 良好的包裝,寬度不好,居中不好。

...並且從那裏變得更糟。顏色是爲了說明,它是一個統一的bg顏色。


我試圖找到/創建一個三欄佈局(CSS2不幸),其中左,右結構緊湊,中心是彈性的,中心相對於其他列。 IOW,如果<table>用於工作,如果中心<td>width=100%。所以,我目前正在使用display: table,它幾乎可行。

當寬度縮小時,我想要發生的事情是中心列仍處於居中狀態時收縮的所有東西,但當沒有剩餘空間時,右側開始換行。但是,使用中心的width=100%來獲取列之間的中心,使右列立即崩潰。如果我在中心不使用width=100%,則右列將展開,並且中心不再位於其他列之間的中間位置。無論是min-width也不max-width似乎在右列到這上面去輕推到做我想要什麼?

編輯1:如果我改變它在中心使用的最大寬度上的權利,沒有width=100%,右側按我想要的方式摺疊,但展開後不會保持寬度 - 右側列按比例增長。

僞內容是:

<div id="header"> 
    <div><img width=214px></div> 
    <div>Some text, 3 lines, 2-3 words each</div> 
    <div><ul><li><a>menu</a></li>...</ul><div><img><img><img></div></div> 
</div> 

左列是圖像,中心一些文本,通過一些小的圖標圖像鏈接右一短行。該列表被設計爲水平列表,如菜單。

我目前擁有的CSS是:

div#header, div#header * { 
    margin: 0px; 
    padding: 0px; 
} 
div#header { 
    display: table; 
    font-family: FranklinGothic,Arial,Helvetica,sans-serif; 
    text-transform: uppercase; 
    width: 100%; 
} 
div#header > div { 
    display: table-cell; 
    vertical-align: top; 
} 
div#header > div:first-child + div { 
    text-align: center; 
    width: 100%; 
} 
div#header > div:first-child + div + div { 
    text-align: right; 
    white-space: nowrap; 
    background-color: blue; 
} 
div#header li { 
    padding-left: 1em; 
} 
div#header li:first-child { 
    padding-left: 0 !important; 
} 

回答

0

我通常使用jQuery插件佈局此類型的佈局。不是純粹的CSS,但使用幾行javascript,您可以創建非常靈活的佈局,快速響應移動設備上的大小調整和旋轉。

該文檔非常廣泛,我發現它有一個戒指陡峭的學習曲線,然後纔可以自己編寫佈局,而無需查看文檔,但一旦您習慣了它,我認爲您會愛上它。

http://layout.jquery-dev.net