【发布时间】:2019-07-16 23:53:24
【问题描述】:
我试图实现一种行为,即 div 上的滚动条基于类变得可见。 div 需要为overflow:auto,我只想控制滚动条的可见性。
为此,我正在使用这个 -
.not-scrolled::-webkit-scrollbar {
display:none;
}
当类not-scrolled添加到div时,滚动条被隐藏,当类被移除时,滚动条变得可见。
您可以在此处检查 jsfiddle 中的行为 - https://jsfiddle.net/naman_anand/39g0h1pk/16/
这在 Chrome 中完全符合预期。但不能在 Safari 中工作。
在 Safari 中,滚动条采用加载时分配给它的样式,然后不会更改,即使添加/删除了更改这些样式的类也是如此。
这就是为什么如果您在 safari 中打开上述小提琴,它将无法正常工作。 但是,如果您在开始时隐藏滚动条(检查这个小提琴 - https://jsfiddle.net/naman_anand/39g0h1pk/18/)并尝试稍后通过删除一个类使其可见,它会保持隐藏状态。
知道为什么在 Safari 中会发生这种情况,以及在 Safari 中切换滚动条可见性的任何方式吗?
【问题讨论】:
标签: javascript html css google-chrome safari