由于某些原因你可能需要隐藏盒子的滚动条但又要它保持滚动效果。
百度找不到答案,谷歌或许你会找到。我就直接提供demo出来,运行代码来看效果吧。
有两种方法:大体思路是加一个外层div使用overflow:hidden对内层div进行遮蔽,而内层根据不同方法把滚动条挤到外层div的遮蔽范围外。
最后加两句js用于更好地支持各大浏览器当中的显示效果。
方法一
内层div使用overflow:auto;padding-right:17px
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" /> <title>隐藏滚动条但不影响滚动-overflow+padding-right | INLOJV</title> <style type="text/CSS"> /* 核心在于 外层 overflow:hidden 内层overflow:auto;padding-right:17px, 注意box-sizing 属性不要设置成 border-box 内层的width不合适的话可以单独调整 边框显示是为了方便识别 body、外层、内层边界 */ *{margin:0;} #contAIner-outer{ height: 100%; width: 100%; border: 2px solid #66FF99; overflow: hidden; } #container-inner{ width: 100%; height: 99%; border: 2px solid #0066FF; overflow: auto; padding-right: 17px; } html, body{ height: 99%; border: 2px solid #CC0099; overflow:hidden; } </style> </head> <body> <div id="container-outer"> <div id="container-inner"> 开始 - inlojv.com<br/><br/> 滚动条已隐藏<br/>试着滚动页面<br/><br/> 滚动条已隐藏<br/>试着滚动页面<br/><br/> 滚动条已隐藏<br/>试着滚动页面<br/><br/> 滚动条已隐藏<br/>试着滚动页面<br/><br/> 滚动条已隐藏<br/>试着滚动页面<br/><br/> 滚动条已隐藏<br/>试着滚动页面<br/><br/> 滚动条已隐藏<br/>试着滚动页面<br/><br/> 滚动条已隐藏<br/>试着滚动页面<br/><br/> 滚动条已隐藏<br/>试着滚动页面<br/><br/> 滚动条已隐藏<br/>试着滚动页面<br/><br/> 滚动条已隐藏<br/>试着滚动页面<br/><br/> 滚动条已隐藏<br/>试着滚动页面<br/><br/> 滚动条已隐藏<br/>试着滚动页面<br/><br/> 滚动条已隐藏<br/>试着滚动页面<br/><br/> 滚动条已隐藏<br/>试着滚动页面<br/><br/> 滚动条已隐藏<br/>试着滚动页面<br/><br/> 滚动条已隐藏<br/>试着滚动页面<br/><br/> 滚动条已隐藏<br/>试着滚动页面<br/><br/> 滚动条已隐藏<br/>试着滚动页面<br/><br/> 滚动条已隐藏<br/>试着滚动页面<br/><br/> 滚动条已隐藏<br/>试着滚动页面<br/><br/> 滚动条已隐藏<br/>试着滚动页面<br/><br/> 滚动条已隐藏<br/>试着滚动页面<br/><br/> 滚动条已隐藏<br/>试着滚动页面<br/><br/> 滚动条已隐藏<br/>试着滚动页面<br/><br/> 滚动条已隐藏<br/>试着滚动页面<br/><br/> 滚动条已隐藏<br/>试着滚动页面<br/><br/> 滚动条已隐藏<br/>试着滚动页面<br/><br/> 滚动条已隐藏<br/>试着滚动页面<br/><br/> 滚动条已隐藏<br/>试着滚动页面<br/><br/> 滚动条已隐藏<br/>试着滚动页面<br/><br/> 滚动条已隐藏<br/>试着滚动页面<br/><br/> 滚动条已隐藏<br/>试着滚动页面<br/><br/> 滚动条已隐藏<br/>试着滚动页面<br/><br/> 滚动条已隐藏<br/>试着滚动页面<br/><br/> 滚动条已隐藏<br/>试着滚动页面<br/><br/> 滚动条已隐藏<br/>试着滚动页面<br/><br/> 滚动条已隐藏<br/>试着滚动页面<br/><br/> 滚动条已隐藏<br/>试着滚动页面<br/><br/> 滚动条已隐藏<br/>试着滚动页面<br/><br/> 滚动条已隐藏<br/>试着滚动页面<br/><br/> 滚动条已隐藏<br/>试着滚动页面<br/><br/> 滚动条已隐藏<br/>试着滚动页面<br/><br/> 滚动条已隐藏<br/>试着滚动页面<br/><br/> 滚动条已隐藏<br/>试着滚动页面<br/><br/> 滚动条已隐藏<br/>试着滚动页面<br/><br/> 滚动条已隐藏<br/>试着滚动页面<br/><br/> 滚动条已隐藏<br/>试着滚动页面<br/><br/> 滚动条已隐藏<br/>试着滚动页面<br/><br/> 滚动条已隐藏<br/>试着滚动页面<br/><br/> 滚动条已隐藏<br/>试着滚动页面<br/><br/> 滚动条已隐藏<br/>试着滚动页面<br/><br/> 滚动条已隐藏<br/>试着滚动页面<br/><br/> 滚动条已隐藏<br/>试着滚动页面<br/><br/> 滚动条已隐藏<br/>试着滚动页面<br/><br/> 滚动条已隐藏<br/>试着滚动页面<br/><br/> 到底了<br/> </div> <div> <script> /*为了更好兼容各大浏览器,可以使用下面的js代码 - inlojv.com */ var parent = document.getElementById('container-outer'); var child = document.getElementById('container-inner'); child.style.paddingRight = child.offsetWidth - child.clientWidth + "px"; </script> </body> </html>
方法二
内层div使用position:absolute;right:-17px
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" /> <title>隐藏滚动条但不影响滚动-position+right | INLOJV</title> <style type="text/css"> /* 核心在于 外层 overflow:hidden;position:relative; 内层 position: absolute;right: -17px;, 内层的width不合适的话可以单独调整 边框显示是为了方便识别 body、外层、内层边界 */ * { margin:0; } #container-outer { height: 100%; width: 100%; border: 2px solid #66FF99; overflow: hidden; position: relative; } #container-inner { position: absolute; top: 0px; bottom: 0px; left: 0px; right: -17px; border: 2px solid #0066FF; overflow: auto; } html, body { height: 99%; border: 2px solid #CC0099; overflow:hidden; } </style> </head> <body> <div id="container-outer"> <div id="container-inner"> 开始 - inlojv.com<br/><br/> 滚动条已隐藏<br/>试着滚动页面<br/><br/> 滚动条已隐藏<br/>试着滚动页面<br/><br/> 滚动条已隐藏<br/>试着滚动页面<br/><br/> 滚动条已隐藏<br/>试着滚动页面<br/><br/> 滚动条已隐藏<br/>试着滚动页面<br/><br/> 滚动条已隐藏<br/>试着滚动页面<br/><br/> 滚动条已隐藏<br/>试着滚动页面<br/><br/> 滚动条已隐藏<br/>试着滚动页面<br/><br/> 滚动条已隐藏<br/>试着滚动页面<br/><br/> 滚动条已隐藏<br/>试着滚动页面<br/><br/> 滚动条已隐藏<br/>试着滚动页面<br/><br/> 滚动条已隐藏<br/>试着滚动页面<br/><br/> 滚动条已隐藏<br/>试着滚动页面<br/><br/> 滚动条已隐藏<br/>试着滚动页面<br/><br/> 滚动条已隐藏<br/>试着滚动页面<br/><br/> 滚动条已隐藏<br/>试着滚动页面<br/><br/> 滚动条已隐藏<br/>试着滚动页面<br/><br/> 滚动条已隐藏<br/>试着滚动页面<br/><br/> 滚动条已隐藏<br/>试着滚动页面<br/><br/> 滚动条已隐藏<br/>试着滚动页面<br/><br/> 滚动条已隐藏<br/>试着滚动页面<br/><br/> 滚动条已隐藏<br/>试着滚动页面<br/><br/> 滚动条已隐藏<br/>试着滚动页面<br/><br/> 滚动条已隐藏<br/>试着滚动页面<br/><br/> 滚动条已隐藏<br/>试着滚动页面<br/><br/> 滚动条已隐藏<br/>试着滚动页面<br/><br/> 滚动条已隐藏<br/>试着滚动页面<br/><br/> 滚动条已隐藏<br/>试着滚动页面<br/><br/> 滚动条已隐藏<br/>试着滚动页面<br/><br/> 滚动条已隐藏<br/>试着滚动页面<br/><br/> 滚动条已隐藏<br/>试着滚动页面<br/><br/> 滚动条已隐藏<br/>试着滚动页面<br/><br/> 滚动条已隐藏<br/>试着滚动页面<br/><br/> 滚动条已隐藏<br/>试着滚动页面<br/><br/> 滚动条已隐藏<br/>试着滚动页面<br/><br/> 滚动条已隐藏<br/>试着滚动页面<br/><br/> 滚动条已隐藏<br/>试着滚动页面<br/><br/> 滚动条已隐藏<br/>试着滚动页面<br/><br/> 滚动条已隐藏<br/>试着滚动页面<br/><br/> 滚动条已隐藏<br/>试着滚动页面<br/><br/> 滚动条已隐藏<br/>试着滚动页面<br/><br/> 滚动条已隐藏<br/>试着滚动页面<br/><br/> 滚动条已隐藏<br/>试着滚动页面<br/><br/> 滚动条已隐藏<br/>试着滚动页面<br/><br/> 滚动条已隐藏<br/>试着滚动页面<br/><br/> 滚动条已隐藏<br/>试着滚动页面<br/><br/> 滚动条已隐藏<br/>试着滚动页面<br/><br/> 滚动条已隐藏<br/>试着滚动页面<br/><br/> 滚动条已隐藏<br/>试着滚动页面<br/><br/> 滚动条已隐藏<br/>试着滚动页面<br/><br/> 滚动条已隐藏<br/>试着滚动页面<br/><br/> 滚动条已隐藏<br/>试着滚动页面<br/><br/> 滚动条已隐藏<br/>试着滚动页面<br/><br/> 滚动条已隐藏<br/>试着滚动页面<br/><br/> 滚动条已隐藏<br/>试着滚动页面<br/><br/> 滚动条已隐藏<br/>试着滚动页面<br/><br/> 到底了<br/> </div> <div> <script> /*为了更好兼容各大浏览器,可以使用下面的js代码 - inlojv.com */ var parent = document.getElementById('container-outer'); var child = document.getElementById('container-inner'); child.style.right = child.clientWidth - child.offsetWidth + "px"; </script> </body> </html>