我是PocketGrid的作者,這是一個用於響應式佈局的微型CSS網格。
正如Luca建議的那樣,您可以使用PocketGrid進行佈局。
我做了的jsfiddle你:http://jsfiddle.net/arleray/5Mvph/
的HTML是非常簡單的:
<div id="LAYOUT" class="block-group">
<div id="HEADER" class="block">
<div class="box">HEADER</div>
</div>
<div id="WORK_AREA" class="block-group">
<div id="LEFT_BAR" class="block">
<div class="box">LEFT_BAR</div>
</div>
<div id="CONTENT" class="block">
<div class="box">CONTENT</div>
</div>
</div>
<div id="TOOLBOX" class="block-group">
<div class="TOOLBOX_ITEM block">
<div class="box">TOOLBOX ITEM</div>
</div>
<div class="TOOLBOX_ITEM block">
<div class="box">TOOLBOX ITEM</div>
</div>
<div class="TOOLBOX_ITEM block">
<div class="box">TOOLBOX ITEM</div>
</div>
</div>
</div>
對於你的CSS,我建議你使用 「移動第一」 的策略:
1 - 從「移動」版本(最小)開始:
#LAYOUT { min-width: 800px; }
#HEADER { height: 30px; }
#WORK_AREA { width: 100%; }
#LEFT_BAR { width: 300px; }
#CONTENT {
overflow: hidden; /* Trick to fill the remaining space */
float: none;
width: auto;
}
#TOOLBOX {
min-width: 300px;
width: 100%;
}
2 - 然後加入媒體查詢放大版本(> 1100px),以僅添加從移動版本更改:
@media (min-width: 1100px) {
#WORK_AREA { width: calc(100% - 300px); }
#TOOLBOX { width: 300px; }
}
對於流體內容寬度,我使用的「overflow:hidden
」特技使其填充剩餘在LEFT_BAR之後的WORK_AREA空間。儘管如此,爲了使右側的固定工具欄具有WORK_AREA流體,我無法使用「overflow:hidden」(因爲它填充了右側的剩餘空間)。
所以我不得不使用calc()
函數來計算WORK_AREA寬度,因爲右邊是固定寬度的工具箱。
注意:在計算()函數只兼容Android 4.4或以上版本(http://caniuse.com/calc),但它是唯一的平均值(純CSS)來對右邊欄左側的流體WORK_AREA,因爲工具箱在WORK_AREA之後聲明。
您可以嘗試使用這種計算()填充工具(在JS):https://github.com/CJKay/PolyCalc
要使用「溢出:隱藏」欺騙,而不是計算()函數,你應該把你的工具箱中的WORK_AREA之前,想在這個其他的jsfiddle:http://jsfiddle.net/arleray/5Mvph/11/
更多有關PocketGrid,你可以在這裏看到很多例子:http://arnaudleray.github.io/pocketgrid/docs/
希望這有助於!
你是一位神。我崇拜你! 我的意思是!謝謝! 有沒有像內容也一樣下降,工具箱的方式一樣? – Ted