CSS 實現隱藏滾動條同時又可以滾動
阿新 • • 發佈:2018-02-26
tricks 原生 .org 介紹 lang target ken 滾動條 gpo 內部內容再限制尺寸和外部嵌套層一樣,就變相隱藏了。
移動端頁面為了更接近原生的體驗,是否可以隱藏滾動條,同時又保證頁面可以滾動?
使用 overflow:hidden
隱藏滾動條,但存在的問題是:頁面或元素失去了滾動的特性。
由於只需要兼容移動瀏覽器(Chrome 和 Safari),於是想到了自定義滾動條的偽對象選擇器::-webkit-scrollbar
。
關於這個選擇器的介紹可以參考:
Styling Scrollbars
Custom Scrollbars in WebKit
應用如下 CSS 可以隱藏滾動條:
.element::-webkit-scrollbar {display:none}
如果要兼容 PC 其他瀏覽器(IE、Firefox 等),國外一位才人 John Kurlak 也研究出了一種辦法。在容器外面再嵌套一層 overflow:hidden
<div class="outer-container">
<div class="inner-container">
<div class="content">
......
</div>
</div>
</div>
.outer-container,.content {
width: 200px; height: 200px;
}
.outer-container {
position: relative;
overflow: hidden;
}
.inner-container {
position: absolute; left: 0;
overflow-x: hidden;
overflow-y: scroll;
}
/* for Chrome */
.inner-container::-webkit-scrollbar {
display: none;
}
CSS 實現隱藏滾動條同時又可以滾動