我在佈局中有一個position: fixed
div,作爲側邊欄。我已被要求將其內容的一部分保持固定在其頂部(內部),其餘部分將滾動,如果它溢出底部的div。滾動固定位置容器中的部分內容
我看了一下this answer,但是該解決方案提出了有不position: fixed
或position: absolute
容器,這是一種痛苦的工作。
我做了一個JSFiddle演示我的問題here。大量的文本應該理想地滾動,而不是溢出到頁面的底部。標題的高度可能因內容而異,並且可能是動畫效果。
的jsfiddle示例代碼:
CSS:
div.sidebar {
padding: 10px;
border: 1px solid #ccc;
background: #fff;
position: fixed;
top: 10px;
left: 10px;
bottom: 10px;
width: 280px;
}
div#fixed {
background: #76a7dc;
padding-bottom: 10px;
color: #fff;
}
div#scrollable {
overlow-y: scroll;
}
HTML:
<div class="sidebar">
<div id="fixed">
Fixed content here, can be of varying height using jQuery $.animate()
</div>
<div id="scrollable">
Potentially long content
</div>
</div>
沒有一個固定的頭,我可以簡單地添加overflow-y: scroll
到div.sidebar
,我可以高興地把它的滾動的所有內容如果它溢出容器的底部。但是,我遇到了在側邊欄頂部有一個固定的,可變高度標題的問題,並且如果它太長而無法放入容器中,則會在滾動下方顯示任何內容。
div.sidebar
必須住宿position: fixed
,我非常希望這樣做沒有任何黑客,以及使其跨瀏覽器成爲可能。我嘗試了各種各樣的東西,但都沒有工作,我不確定要從這裏嘗試什麼。
如何在容器內容溢出包含div的情況下僅在Y方向上容器滾動時使用不同的高度不變的標頭?我非常想遠離JS,但如果我必須使用它,我會。
我不知道,如果一個純CSS的解決方案存在此。基本上你試圖修復固定在div#,但是當你做,你把它出文檔的正常流動,這樣的高度不會推動其他要素下跌的一頁。 – 2012-04-14 14:38:10
考慮到非滾動DIV是在側邊欄的內容的頂部,它不必是'位置:fixed' - 它可以只是坐在正常流動。我想知道是否有辦法將'overflow:scroll'元素的頂部向下按非滾動div的高度。它實際上不是「位置:固定」。我的意思是「固定」,如「不滾動溢出」。 – Bojangles 2012-04-14 14:40:26
看來你對你的小提琴取得了一些進展,如果你刪除的DIV#側邊欄底部財產股利將擴大以適應內容 – 2012-04-14 15:28:18