CSS 实现隐藏滚动条同时又可以滚动

Posted mica

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CSS 实现隐藏滚动条同时又可以滚动相关的知识,希望对你有一定的参考价值。

移动端页面为了更接近原生的体验,是否可以隐藏滚动条,同时又保证页面可以滚动?

使用 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 实现隐藏滚动条同时又可以滚动的主要内容,如果未能解决你的问题,请参考以下文章

隐藏滚动条

css设置滚动条颜色与样式以及如何去掉与隐藏滚动条

css怎么实现滚动条默认为隐藏状态,当要滚动的时候滚动条才显示出来

CSS如何隐藏滚动条?

CSS怎么隐藏滚动条

网页中如何隐藏iframe中的垂直滚动条,但依然可以用滚轮实现页面滚动???求大神啊