vue页面隐藏滚动条

792 阅读1分钟

需求就是隐藏右侧滚动条并给某个区域加上滚动条(或者说,当内容大于视图区域的时候自动添加滚动条)

在网上试了好几种办法都不行,我分析原因是没有触碰到最外层元素html,因为最后的解决方案就是设置:html{overflow-y: hidden;},但我看网上的解决办法也没有设置html元素,具体原因未知~~

具体实现:

1.首先要把<style></style>标签中的scoped去掉,因为这样才能在这个vue文件中触碰到最外层的<html>标签(具体解释文章:juejin.cn/post/716324…)

2.代码

html {
    overflow-y: hidden;
}

3.在要添加滚动条的div盒子中添加overflow属性

.box{
    overflow-y: auto;
}

image.png image.png

然而随后又出现另一个bug,因为上边div设置了min-width,所以……

image.png

解决办法:把下边滚动条藏起来,让用户看不见就好了~

html {
    overflow-y: hidden;
    overflow-x: hidden;
    // overflow: hidden;
}