2016-10-25 22 views
0

我有一箇舊的3列網站,其中中間列2包含重要內容(不同大小)。中間列頂部的3列響應佈局

是否有可能單獨使用CSS(即模板未觸及),使其響應以便在窄屏幕上,順序(從頂部到底部)變爲Col-2,然後是Col-1,然後是Col-3?即。

模板:

<div class="col-1">Left Sidebar</div> 
<div class="col-2">Main content</div> 
<div class="col-3">Right sidebar</div> 

我想在較小的屏幕寬度媒體查詢顯示爲:

Main content 

Left Sidebar 

Right sidebar 

回答

3

可以實現,使用Flexbox的:在媒體查詢,分配display: flexflex-direction: column(如果沒有容器/父元素,那就是body標籤),並根據所需的順序將order設置(數字)分配給單個項目,如下所示:

body { 
 
    display: flex; 
 
    flex-direction: column; 
 
} 
 
.col-1 { 
 
    order: 2; 
 
    } 
 
.col-2 { 
 
    order: 1; 
 
    } 
 
.col-3 { 
 
    order: 3; 
 
    }
<div class="col-1">Left Sidebar</div> 
 
<div class="col-2">Main content</div> 
 
<div class="col-3">Right sidebar</div>

+0

感謝的是,正是我一直在尋找,並在描述更全面: 一個完整的指南Flexbox的 https://css-tricks.com/snippets/css/ a-guide-to-flexbox/ – iantresman

+0

您知道這是否適用於使用三個單元格寬的表格的佈局? – iantresman

+0

不,這是Flexbox功能,而且Flexbox不能與表格組合 – Johannes