首页代码教程CSSCSS实现隐藏滚动条同时保留滚动功能

CSS实现隐藏滚动条同时保留滚动功能

9年前 (2017-08-02)CSS6k

复制本页网址打印

有时移动端页面为了更接近原生的体验,需要考虑隐藏滚动条,但又得保证页面(或相关区域)仍然可以滚动。比如有些网站导航为了不限制菜单数量,往往会让宽度或高度保持自适应,这种情况显示滚动条就难免会影响美观。

我们知道使用 overflow:hidden 就能隐藏滚动条,但直接导致的后果是:页面或元素失去了滚动的特性。由于只需要兼容移动浏览器(Chrome 和 Safari),这意味着支持CSS3,于是想到了自定义滚动条的伪对象选择器::-webkit-scrollbar,那么CSS实现隐藏滚动条同时保留滚动功能实际上一句代码就可以解决:

.element::-webkit-scrollbar {display:none}

如果一定要兼容 PC 其他浏览器(IE、Firefox 等),前端高手们也研究出了其它办法:在容器外面再嵌套一层 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;
}
0
打赏

重要声明
当前栏目内容除非特别标注,否则均来源于网络公开信息整理分享,本站不提供存储和下载服务,且无法保证第三方链接永久可靠。您若对本站或当前页面内容有疑问或者建议,欢迎联系我们反馈,我们将尽快与您互动,谢谢支持!