CSS-溢出:滚动;-总是显示垂直滚动条?


224

所以目前我有:

#div {
  position: relative;
  height: 510px;
  overflow-y: scroll;
}

但是,我认为对于某些用户而言,那里会有更多的内容是显而易见的。他们可以在不知道我的div实际包含更多内容的情况下向下滚动页面。我使用510px的高度,因此它会截断一些文本,因此在某些页面上看起来确实有更多内容,但这不适用于所有页面。

我使用的是Mac,在Chrome和Safari中,垂直滚动条仅在鼠标悬停在Div上并且您正在滚动时才会显示。有没有办法一直显示它?


4
嗯,您可以在jsfiddle上重新创建此确切行为吗?您提供的CSS应该强制滚动条一直显示。
sg3s 2011年

1
是的,听起来您还有其他一些CSS古怪的原因,这应该始终显示滚动条。确保div的包装样式正确。
肖恩·史蒂夫

我在跑狮子!也许就是这样吗?我将打开一个虚拟机,然后从窗户的侧面看它的状态……
Jambo

1
该死的,我不好!它是Lion中的功能。在购买之前,我应该真正阅读所购买的东西……谢谢大家!
詹布

Answers:


386

我自己就遇到了这个问题。OSx Lion在不使用滚动条时会隐藏滚动条,使滚动条看起来更加“光滑”,但同时您遇到的问题也浮出水面:人们有时看不到div是否具有滚动功能。

解决方法:在您的CSS中包括-

::-webkit-scrollbar {
  -webkit-appearance: none;
  width: 7px;
}

::-webkit-scrollbar-thumb {
  border-radius: 4px;
  background-color: rgba(0, 0, 0, .5);
  box-shadow: 0 0 1px rgba(255, 255, 255, .5);
}

根据需要自定义外观。资源


6
这也可以在带Safari的iPad上使用吗?我在运行iOS 6.1.3的iPad 2上无法正常工作。
crmpicco

6
有没有办法使它仅适用于特定班级?
futbolpal

2
仅在容器上设置“ overflow:auto”(在我的情况下为<ul>)之后,才为我工作。谢谢!
Rob Campion 2014年

8
@futbolpal是的,这似乎可以在一个类中使用;试试.classname :::-webkit-scrollbar
Chase

4
我怎样才能使它水平工作?条显示为垂直滚动,但不显示水平滚动
BritishSam

14

请注意,在iPad Safari上,NoviceCoding的解决方案如果webkit-overflow-scrolling: touch;在CSS的某处存在,将无法使用。解决方案是删除所有出现的内容,-webkit-overflow-scrolling: touch;或者-webkit-overflow-scrolling: auto;使用NoviceCoding的解决方案。


3
css-webkit-overflow-scrolling:触摸和滚动条中是否可以同时包含两者?
Julsy

1

根据我的测试,这将可以在iOS 7.1.x上的Safari上的iPad上使用,不过我不确定iOS 6。但是,它在Firefox上不起作用。有一个jQuery插件旨在与跨浏览器兼容,称为jScrollPane

另外,Stack Overflow上还有一个重复的帖子,其中包含其他一些详细信息。


5
请注意,这个问题是2年前问世的,甚至还没有iOS6出现。
OGHaza

webkit仅适用于Safari浏览器。您将需要针对特定​​于Firefox的引擎
TigerBear,2017年

-4

当窗口中有必须滚动才能访问的内容时,这将使滚动条始终显示,它适用于Mac上的所有窗口和所有应用程序:

从Apple菜单中启动系统偏好设置,单击“常规”设置面板,查找“显示滚动条”,然后选择“始终”旁边的单选框。完成后,退出系统偏好设置


18
确实可以回答问题,但这是客户端修复,而不是服务器端修复。因此,这是网页用户必须要做的事情,stackoverflow是一个编程站点,因此人们通常会在这里找到代码解决方案,而不是用户更改其浏览器设置的方法。
埃里克·莱斯钦斯基
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.