如何隐藏滚动条且保持滚动条功能

1,778 阅读1分钟

大图

c3方面解决:

这个写法还是挺实用的,我项目中遇到的问题就是下面这个解决的,一般来说,用不到下面的 其它写法

// 谷歌
html::-webkit-scrollbar{
  display: none;
}

// 火狐
html {
  scrollbar-width: none;
}

其它写法
1、为了兼容其他浏览器,在滚动区域外再套一层 div,给这层 div 设置 overflow:hidden,即可隐藏滚动条

// 给 container 外层加个 div(container-wrapper)
.container-wrapper{
   overflow:hidden
}

2、.以上如果还不能解决,就给 container 设置一个 padding-bottom(根据滚动条的位置来设置,我的containeroverflow-x:scroll),把滚动条挤出可视范围,这样做是相当于把滚动条隐藏起来

.container{
    overflow-x:scroll;
    overflow-y:hidden;
    // 解决ios上滑动不流畅
   -webkit-overflow-scrolling:touch;
   padding-bottom:25px;
}

js方面解决(移动端适用,PC端还不清楚)

关于移动端怎么解决全局滚动和局部滚动条

// 当前滚动条父级元素
let popContent = jquery('.mui-table-view')[0]
// 阻止当前冒泡 (核心)
popContent.addEventListener('touchmove', e => e.stopPropagation(), false)