gpt4 book ai didi

css - 防止在 WebKit/Blink 中为 MacOS 触控板用户隐藏滚动条

转载 作者:行者123 更新时间:2023-11-28 03:20:47 25 4
gpt4 key购买 nike

自 10.7 (Mac OS X Lion) 以来,WebKit/Blink (Safari/Chrome) 在 MacOS 上的默认行为是在触控板用户不使用时隐藏滚动条。 This can be confusing ;滚动条通常是元素可滚动的唯一视觉提示。

示例 ( 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)截图

screenshot of a div with no visible scroll bar

Presto(歌剧)截图

screenshot of a div with a visible scroll bar


如何强制滚动条始终显示在 WebKit 中的可滚动元素上?

最佳答案

可以使用 WebKit 的 -webkit-scrollbar 伪元素控制滚动条的外观 [ blog ]。您可以通过设置 -webkit-appearance [ docs 来禁用默认外观和行为]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)截图

screenshot showing webkit's scrollbar, without needing to hover

关于css - 防止在 WebKit/Blink 中为 MacOS 触控板用户隐藏滚动条,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45227185/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com