思路:父div设置了宽高且设置overflow:hidden,子div宽/高=100%+浏览器自带滑动条宽/高
eg:
.fatherDiv{ width:100px;height:100px;overflow:hidden }
.sonDiv{ overflow:scroll }
这里需要用到一个方法去获取浏览器的滑动条宽高
function getScrollbarWidth() { var odiv = document.createElement('div'),//创建一个div styles = { width: '100px', height: '100px', overflowY: 'scroll'//让他有滚动条 }, i, scrollbarWidth; for (i in styles) odiv.style[i] = styles[i]; document.body.appendChild(odiv);//把div添加到body中 scrollbarWidth = odiv.offsetWidth - odiv.clientWidth;//相减 odiv.remove();//移除创建的div return scrollbarWidth;//返回滚动条宽度 }
代码就不整理了,放到编译器里面一键整理就好。
然后在
$(function(){ $('.sonDiv').css('width',calc(100% + getScrollbarWidth())); })
注意这里的calc和+和后面的函数有空格。不然会报错。
至此,滑动条就隐藏了,而且不会因为浏览器版本出现适配问题。