我開始了一個有趣的頁面佈局的想法最近的工作,但我已經打了一個小的(?)問題,我似乎無法找到解決...掙扎不尋常的頁面佈局
什麼我想如下:
- 寬屏必須看到兩列
[body]
+[sidebar]
佈局。body
元素將成爲左側的一列。sidebar
將顯示爲右側的單個窄列,但實際上由兩個堆疊的div組成。
- 窄屏幕必須看到單列布局,與Bootstrap一樣跨越全角。
- 第一塊必須
sidebar-top
- 第二塊必須
body
- 第三塊必須
sidebar-bottom
- 第一塊必須
本質上欄必須「分裂」周圍的內容時,屏幕尺寸變得太狹窄。
我有什麼幾乎沒有。然而,當#root_body
高度小於的#root_top_sidebar
,那麼寬的頁面上#root_bottom_sidebar
段轉移到身體正下方,而不是留一部分作爲的側邊欄。
我可以通過添加margin-bottom
或體面的min-height
到更寬的屏幕的身體內容來解決這個問題,但是這感覺相當hacky ..我確信必須有更好的方法來實現這一點。
我已經試過了這幾個不同的想法,但以下幾點真難:
- 浮動兩個側邊欄段左或右,使上下側邊欄分割位置沒有什麼區別。
- 絕對定位它們是不可行的,因爲這三個容器中的任何一個容器都會保存未知數量的數據,並且可以在可見時動態改變高度。
相關代碼
修剪HTML,帶班和ID保持不變:
<div class="row">
<div id="root_top_sidebar" class="col-sm-5 col-md-4">
<!-- content -->
</div><!-- .root_top_sidebar -->
<div id="root_body" class="col-sm-7 col-md-8 accordion-group">
<!-- content -->
</div><!-- #root_body -->
<div id="root_bottom_sidebar" class="col-sm-5 col-md-4">
<!-- content -->
</div><!-- .root_bottom_sidebar -->
</div>
相關CSS:
@media (min-width: 768px) {
#root_top_sidebar {
float: right;
}
}
整個項目源can be seen here,與有關位於app/styles/
和012內的文件文件夾。
任何HTML/CSS忍者都覺得在這裏分享一些智慧?
當側邊欄移位時,你想讓它們變成水平的嗎? – TimSPQR
這是您正在尋找的功能類型嗎? http://jsfiddle.net/mSLS9/ – TimSPQR
@TimSPQR,我包括示例代碼。如果這還不太清楚,下面是我目前的情況的一個工作示例:http://jsbin.com/INEHAviq/1 – ZaLiTHkA