欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

隐藏浏览器原生的滚动条

程序员文章站 2022-07-09 10:20:02
...

起因:

有这么一个需求,标题栏内容多,你懂的,移动端显示有限,所以就使用滑动的方式展现内容咯,不愿意使用iscoll等插件,那好吧,就使用我们浏览器自带的滚动咯。

开始咯,设置父元素固定的width,设置overflow-y:hidden,然后子元素flex弹性盒模型布局,这样就就一排撑开了,优雅的滚动起来。

遇到问题:

设计师说太丑,一定要把显示在页面上的滚动条隐藏掉。确实,这是一个问题,有个滚动条在,隐藏了美观,那我只能是搜索如何隐藏滚动条,尝试过各种修改滚动条的样式,但是都fail告终,测试机型iphone 6s。所以修改滚动条样式不可行。那就隐藏掉,果不其然,看不到了。代码如下:

江湖盛传修改滚动条样式的代码(iphone 6s 并无效果,其他机型未测试)

.rich是指定那个元素的滚动条,这是要的,因为其他位置可能需要显示滚动条,所以前面记得要带上范围的className。

.rich::-webkit-scrollbar {height:8px; width:8px;}
.rich::-webkit-scrollbar-button {height:0; width:0}
.rich::-webkit-scrollbar-button:start:decrement,::-webkit-scrollbar-button:end:increment { display:block}
.rich::-webkit-scrollbar-button:vertical:start:increment,::-webkit-scrollbar-button:vertical:end:decrement { display:none}
.rich::-webkit-scrollbar-track:vertical,::-webkit-scrollbar-track:horizontal,::-webkit-scrollbar-thumb:vertical,::-webkit-scrollbar-thumb:horizontal,::-webkit-scrollbar-track:vertical,::-webkit-scrollbar-track:horizontal,::-webkit-scrollbar-thumb:vertical,::-webkit-scrollbar-thumb:horizontal { border-style:solid; border-color:transparent}
.rich::-webkit-scrollbar-track:vertical::-webkit-scrollbar-track:horizontal{background-clip:padding-box;background-color:#fff;}

.rich::-webkit-scrollbar-thumb { background-color: rgba(0,0,0,0.05);
border-radius: 10px;
-webkit-box-shadow: inset 1px 1px 0 rgba(0,0,0,.1);}
.rich::-webkit-scrollbar-thumb:hover {background-color:rgba(0,0,0,0.2);border-radius:10px;-webkit-box-shadow:inset 1px 1px 0 rgba(0,0,0,.1)}
.rich::-webkit-scrollbar-thumb:active {background:rgba(0,0,0,0.6);-webkit-border-radius:15px;}
.rich::-webkit-scrollbar-track:vertical,::-webkit-scrollbar-track:horizontal,::-webkit-scrollbar-thumb:vertical,::-webkit-scrollbar-thumb:horizontal {  border-width:0;}
.rich::-webkit-scrollbar-track:hover {-webkit-box-shadow:inset 0 0 6px rgba(0,0,0,0.4);background-color:rgba(0,0,0,0.01);-webkit-border-radius:15px;}
.rich::-webkit-scrollbar-track:active {-webkit-box-shadow:inset 0 0 6px rgba(0,0,0,0.4);background-color:rgba(0,0,0,0.05);-webkit-border-radius:15px;} 

隐藏滚动条的代码

.box-price::-webkit-scrollbar { display: none; }

这里我也是指定了哪个div的滚动条。温馨提醒,

visibility="visible|hidden  ,按道理说设置visibility:hidden也是可以隐藏元素,但是我试了设置之后还是滚动条存在,所以乖乖使用display:none吧,难道说滚动条只要有占位置在dom树里面就会显示出来?maybe是这样,最后的最后我就是设置了这么一句display:none达到了我想要的效果了。

如果大家有更好的方法告诉我哦,在微信浏览器里头如何自定义滚动条的样式。先谢谢你们。