如何解决防止在 WebKit/Blink 中为 MacOS 触控板用户隐藏滚动条
滚动条的外观可以通过 WebKit 的-webkit-
scrollbar
伪元素[博客]来控制。-webkit-
appearance
您可以通过将[文档]none
设置为
来禁用默认外观和行为。
因为您要删除默认样式,所以您还需要自己指定样式,否则滚动条将永远不会出现。以下 CSS 重新创建了隐藏滚动条的外观:
示例(jsfiddle)
CSS
.frame::-webkit-scrollbar {
-webkit-appearance: none;
}
.frame::-webkit-scrollbar:vertical {
width: 11px;
}
.frame::-webkit-scrollbar:horizontal {
height: 11px;
}
.frame::-webkit-scrollbar-thumb {
border-radius: 8px;
border: 2px solid white; /* should match background, can't be transparent */
background-color: rgba(0, 0, 0, .5);
}
.frame::-webkit-scrollbar-track {
background-color: #fff;
border-radius: 8px;
}
WebKit (Chrome) 截图
解决方法
自 10.7 (Mac OS X Lion) 起,WebKit/Blink (Safari/Chrome) 在 MacOS
上的默认行为是在触控板用户不使用时隐藏滚动条。
示例(jsfiddle)
HTML
<div class="frame">
Foo<br />
Bar<br />
Baz<br />
Help I'm trapped in an HTML factory!
</div>
CSS
.frame {
overflow-y: auto;
border: 1px solid black;
height: 3em;
width: 10em;
line-height: 1em;
}...
WebKit (Chrome) 截图
Presto (Opera) 截图
如何强制滚动条始终显示在 WebKit 中的可滚动元素上?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。