[英]Keep vertical scrollbar in a fixed position independent of horizontal scroll
我目前有一個網格設置,看起來像這樣:
<div class="grid-container">
<div class="headers"> <!-- ... --></div>
<div class="row-container">
<div class="row"> <!-- ... --></div>
<!-- ... -->
</div>
</div>
基本上我想做的是在整個grid-container
上放置一個overflow-x
(這樣水平滾動會將標題和行一起滾動),但只需row-container
上放置一個overflow-y: overlay
(這樣向下滾動只會滾動行並將網格標題保持在固定位置。
我能做到這一點,它看起來還好,但是,在垂直滾動條row-container
是在最右側的row-container
。 我希望它是可見的並處於固定位置(類似於在整個grid-container
上放置一個overflow-y
外觀,除非不影響標題)。
抱歉,我知道我可能解釋得不好,但這里有一個 JSFiddle,希望能說明我遇到的問題: https ://jsfiddle.net/4xwd5yzp/
請注意,在那個小提琴中,當您滾動到行容器的末尾時,您只能看到垂直滾動條。
預先感謝您的任何幫助。 理想情況下,我更喜歡只使用 HTML + CSS 的解決方案,但如果絕對必要,我也願意使用 vanilla JS + jQuery。
你非常接近,如果你從.row-container
中.row-container
overflow-y
樣式並將其添加到.grid-container
並添加position: sticky;
和background: white;
到.headers
那么我相信它會按照你想要的方式工作。
Update the width in % rather than px.
`
.grid-container {
border: 1px solid black;
height: 200px;
width: 99%x;
white-space: nowrap;
overflow-x: auto;
overflow-y: hidden;
}
.row-container {
height: 150px;
width: 99%x;
overflow-y: overlay;
}
.grid-cell {
display: inline-block;
width: 250px;
}
.headers {
border-bottom: 1px solid black;
height: 50px;
width: 99%;
}
.row {
border-bottom: 1px solid lightgray;
height: 30px;
width: 99%;
}
`
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.