我知道你可以定义 overflow:hidden;在 HTML 的主体上删除滚动条,但我希望仍然能够使用鼠标上的箭头或滚轮滚动。
在此先感谢您的帮助。
编辑:
感谢您提供有关悬停滚动条和自定义栏的所有建议。也感谢您对删除滚动条影响用户体验的所有担忧。我会详细说明一下,以便您解释我的出发点。
我有一个圆形页面(如果您使用滚轮或箭头按钮滚动,当它到达底部时它会重置到页面顶部并重新开始)。永无止境的循环。滚动条对此有影响,因为它是有限的,当它到达底部并重置到顶部时,用户鼠标仍位于页面底部,这意味着当他们移动它时,页面顶部和底部之间会出现一些闪烁。
我打算去掉滚动条,用窗口顶部和底部的箭头按钮代替。这就是为什么我想完全删除滚动条但保留滚动功能的原因。
有一个名为 jscrollpane 的 jQuery 库 http://jscrollpane.kelvinluck.com/#examples可以修改很多。
但是如果你只想隐藏滚动条,你也可以把这个滚动条推到看不见的地方:http://jsfiddle.net/H27BK/
<div id="content">
<div id="scrollable"> ... ... ... </div>
</div>
使用 CSS
#content {
position: relative;
width: 200px;
height: 150px;
border: 1px solid black;
overflow: hidden;
}
#scrollable {
height: 150px;
width: 218px; /* #content.width + 18px */
overflow-y: scroll;
}
这一切都基于 18 像素的条形宽度。
所以我们可以做一些 javascript 滚动条宽度检测脚本,或者简单地添加另一个我们放在可滚动 div 前面的 div。
http://jsfiddle.net/uNzEz/
HTML 现在是:
<div id="content">
<div id="scrollable">
<div id="txt"> ... ... ...
</div></div></div>
像这样的 CSS:
#content {
position: relative;
width: 200px;
height: 150px;
border: 1px solid black;
overflow: hidden;
}
#scrollable {
height: 150px;
width: 240px; /* the bar-width can be theoretical 240px - 200px = 40px */
overflow-y: scroll;
}
#txt {
width: 200px;
}