vue怎么实现滚动条隐藏但有滚动效果?

2023-06-30 384 0

vue怎么实现滚动条隐藏但有滚动效果

其实可以配置 scrollbar 属性,但是会有兼容新问题,除了 chrome 支持外其他的浏览器并不支持。 👉 使用CSS隐藏元素滚动条
所以一般的觉方式是在滚动容器外部再套一个高度比滚动容器高度小大概 20px ~ 30px 的容器,然后做 overflow:hidden 这样滚动条就会被超出隐藏掉。

具体实现可以简介社区中的这篇文章中的思路 👉 CSS如何隐藏滚动条,又不失去滚动功能( 两行代码 )
或者我之前在其他问答中使用过的一个Demo 👉 Codepen demo

1.解决不出现滚动条却有滚动效果,我们得先明白滚动条出现的原因--》也就是宽高溢出了,然后会蹦出来一个滚动条,所以你要么把滚动条给干掉,正如楼上所说,或者你可以自定义出一个滚动效果,比如你在需要滚动的盒子外面套一个盒子给它来一个overflow:hidden,然后给外层盒子添加一个鼠标滚轮事件的监听,阻止该盒子的默认事件,通过自定义scrollTop的位移来实现自定义的滚动效果

// 去除滚动条显示
.drawerBox::-webkit-scrollbar{display:none}

div{
scrollbar-width:0;
-ms-overflow-style:none;
&::-webkit-scrollbar
{
width:0;
height:0
}
}
::-webkit-scrollbar{
width:0;
height:0;
}

::前面也可以制定元素容器,也可以不指定;不指定的情况下应用于所有元素

除了使用::-webkit-scrollbar样式外, 还有个更老的解决方案,就是外层套个div使用overflow:hidden. 内层的还是overflow:auto. 通过外层div margin遮挡掉内部的滚动条来达到效果,优点是兼容性高,缺点是麻烦缺乏语义

回答

相关文章

nuxt2部署静态化和ssr的时候访问首页先报404再出现首页为什么?
`clip-path` 如何绘制圆角平行四边形呢?
多线程wait方法报错?
VUE 绑定的方法如何直接使用外部函数?
vue2固定定位该怎么做?
谁有redis实现信号量的代码,希望借鉴一下?