我對PocketGrid很陌生,因爲我今天才發現它。所以,請原諒我,如果我濫用你的電網骨架......
這裏有一個替代方法,不需要使用的calc()
,並讓您的側邊欄之前標記您的main
的內容,或任何你喜歡的順序。
這需要一個額外的容器div
包含主塊和側邊欄。該容器div
的位置相對於允許2個固定寬度的側欄的絕對定位。
的HTML:
<div class="block-group">
<div class="header block">
<div class="box">Header</div>
</div>
<div class="middle block block-group">
<div class="main block">
<div class="box">Main<br/>(fluid)</div>
<div class="box">Main<br/>(fluid)</div>
<div class="box">Main<br/>(fluid)</div>
<div class="box">Main<br/>(fluid)</div>
<div class="box">Main<br/>(fluid)</div>
</div>
<div class="left-sidebar block">
<div class="box">Left sidebar<br/>(fixed width)</div>
</div>
<div class="right-sidebar block">
<div class="box">Right sidebar<br/>(fixed width)</div>
</div>
</div>
<div class="footer block">
<div class="box">Footer</div>
</div>
</div>
的CSS:
/* Smartphone version
Nothing to do: blocks are stacked by default. */
.middle {
position: relative;
}
/* Tablet version */
@media (min-width: 600px) {
.left-sidebar { width: 200px; position: absolute; left: 0; top: 0; bottom: 0; }
.right-sidebar { width: 200px; position: absolute; right: 0; top: 0; bottom: 0; }
.main {
overflow: hidden;
float: none;
width: auto;
min-width: 1px;
margin: 0 200px;
}
}
.main .box { background-color: #CFD; }
.left-sidebar .box, .right-sidebar .box { background-color: #CDF; }
同樣在jsfiddle。
嗨arnaud,我解決了它與「calc()」,即使不與IE8兼容是一個非常有趣的CSS屬性。我會研究你提出的解決方案,也許我會用你的解決方案替換我的解決方案。謝謝。 我開始了一個基於PocketGrid的免費項目,我想和你討論一下,以便互相交換鏈接。請,你能聯繫我嗎?我的電子郵件在我的檔案中。謝謝!!! –
@LucaDetomi如果你可以接受,你能否將我的答案標記爲已接受? 謝謝! – Arnaud