2012-11-12 140 views
27

我的網站左側有一個固定的側邊欄,其內容太多,無法在屏幕上顯示。我怎樣才能讓內容滾動,同時仍然允許右側滾動?在固定側邊欄內滾動

我認爲簡單的overflow-y: scroll;就足夠了。似乎我需要在邊欄上有最大高度,但將最大高度設置爲100%不會產生任何效果。我確信這是一個簡單的代碼模式,但是,唉,我的CSS技能今天已經拋棄了我。這裏

簡單的例子: http://jsfiddle.net/tvysB/1/

回答

60

設置topbottom0,使側邊欄是完全一樣的高度視:

#leftCol { 
    position: fixed; 
    width: 150px; 
    overflow-y: scroll; 
    top: 0; 
    bottom: 0; 
} 

這是你的提琴:http://jsfiddle.net/tvysB/2/

+1

Doh,我發誓我提到了那個。謝謝。 –

+0

我試圖得到一個固定的頁眉/固定邊欄滾動內容(導航)工作的移動網站,沒有運氣,直到我跑過這個答案。我不確定'bottom:0'會影響我的側邊欄,但我想爲什麼不呢?像魅力一樣工作。感謝你的回答! –

+0

啊,這是訣竅!而不是身高:100%; - top:0;和底部:0;這是處理side-nav不固定在視口頂部的情況的唯一方法。如果它是從頂部200px,高度:100%實際上會使它位於side-nav的底部位於視口下方200px的位置。 – welbornio

3

我有這個相同的問題,並使用它來修復它:

.WhateverYourNavIs { 
     max-height: calc(100vh - 9rem); 
     overflow-y: auto; 
} 

這會以響應用戶瀏覽器高度的方式設置導航的最大高度,然後在需要時爲其提供滾動。