Javascript 隐藏溢出的滚动条:已启用滚动

Javascript 隐藏溢出的滚动条:已启用滚动,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我需要隐藏一个有溢出的div上的滚动条:scroll;已启用,以便div将使用鼠标和键盘滚动,但不会显示滚动条本身 有没有办法用css或javascript来实现这一点?您可以将滚动div放在第二个div中,并隐藏溢出,然后只需将内部div加宽一点,再加高一点(但大小可能因浏览器而异) 大概是这样的: #outer { overflow:hidden; width:200px; height:400px; border:1px solid #ccc; } #in

我需要隐藏一个有溢出的div上的滚动条:scroll;已启用,以便div将使用鼠标和键盘滚动,但不会显示滚动条本身


有没有办法用css或javascript来实现这一点?

您可以将滚动div放在第二个div中,并隐藏溢出,然后只需将内部div加宽一点,再加高一点(但大小可能因浏览器而异)

大概是这样的:

#outer {
    overflow:hidden;
    width:200px; 
    height:400px;
    border:1px solid #ccc;
}
#inner {
    overflow:scroll; 
    width:217px; 
    height:417px;
}​
完整示例见

编辑:
不幸的是,您仍然可以通过突出显示文本和拖动来访问滚动条,这确实会使填充等变得更痛苦,但除此之外,我认为javascript是一种方法。

您可以使用纯CSS来实现这一点(至少在webkit浏览器中)。您必须使用特殊的滚动条伪类来实现这一点

::-webkit-scrollbar {
    display: none;
}

阅读这篇文章,了解更多信息。

你需要使用这个网站上的jquery插件。

@Maloric answer为我指出了正确的方向,但是我需要流体宽度,我还想更准确地确定滚动条的宽度

这是一个函数,它将根据浏览器报告的内容返回滚动条的确切宽度

var getWidth=function(){
var scrollDiv=document.createElement('div'),
滚动条宽度;
scrollDiv.style.overflow='scroll';
document.body.appendChild(scrollDiv);
scrollbarWidth=scrollDiv.offsetWidth-scrollDiv.clientWidth;
document.body.removeChild(scrollDiv);
返回滚动条宽度;
};
var width=getWidth();
var container=document.querySelector('.overflowing container');
container.style.paddingRight=宽度+px';
container.style.marginRight=(宽度*-1)+“px”;
//只是为了测试的目的
document.querySelector('.scrollbar width')。innerHTML='scrollbar height:'+getWidth()
.container{
高度:200px;
溢出x:隐藏;
溢出y:自动;
宽度:500px;
}
.溢出容器{
身高:100%;
溢出y:自动;
宽度:100%;
}

Lorem ipsum dolor sit amet,是一位杰出的献身者。毛里斯·特里斯蒂克(Mauris tristique feugiat metus),埃吉特·莫利斯·尼布(eget mollis nibh)前庭。无欲者,无欲者,无欲者,无欲者,无欲者。梅塞纳斯·埃拉特·麦格纳、埃杰特·努克·埃杰特元素、尼塞尔葡萄品种。青葱花粉蝶。Donec rutrum nisi与厄洛斯·波苏尔(eros posuere)合作,共同创造美好未来。这是一项关于胎儿矢状体、妊娠期大肌等的研究。
杜伊斯·奥纳雷调味品是马来苏达的。Morbi nec sodales nunc。马萨三色车病,nec lacinia tellus vulputate fringilla。Nam eget pulvinar libero。前庭舌苔,头晕,头晕。他坐在阿梅特·利伯罗·朗卡斯身边,马蒂斯·阿利奎特·奥古斯·波特托。苏利西汀、莫利斯营养不良、孕妇侵权者营养不良等。孕妇营养暂停,以及妇女营养暂停。拍卖行的佩伦茨克威尼斯教堂。塞德·利库拉(Sed libero ligula),梅特斯a的普雷蒂姆(pretium),马莱苏达·乌拉姆科珀·利奥(malesuada ullamcorper leo)。前斜纹夜蛾的颞帆。Nam ac iaculis arcu。毛里斯·阿尼西·奎斯·阿库·福吉亚·波苏尔。

请不要更改或删除用户的标准UI元素,这只会让他们感到烦恼。我认为人们读错了,我不想隐藏正文滚动或任何默认UI。我已经设置了一个div来溢出:scroll;我希望overflow scroll提供该div的功能,但我不希望显示随附的scrollbar。我之所以选择此功能,是因为我更喜欢使用css,但我建议也添加Stephan Bönnemann的想法,并使用webkit scrollbar,因为如果他们突出显示Stephan提出的解决方案,则不会显示内容Bönnemann,但不幸的是,将其添加到上述内容中意味着,在webkit浏览器中,Internal的宽度最终达到了17px。我认为Stephan的解决方案对于webkit浏览器来说是最优雅的,而我的解决方案将为没有类似伪选择器的浏览器提供兼容性。