webkit-overflow-scrolling使元素消失

时间:2016-02-23 18:09:30

标签: ios css google-chrome webkit smooth-scrolling

我有一个应用/网站,我使用-webkit-overflow-scrolling: touch;在iOS上滚动顺畅。

然而,最近它开始导致我的导航栏在初始加载时消失(使用iOS),只有在某些元素向上或向下滚动时才会出现,这会导致导航栏完全无法使用。

如果我注释掉-webkit-overflow-scrolling: touch;,那么它的效果会很好,但动量滚动消失了。我尝试在导航栏中添加z-index黑客,以确保它在所有内容之上加载,我还添加了一些不同的display属性以及如果我可以破解-webkit-overflow-scrolling: touch;,我甚至尝试使用-webkit-transform: translate3d(0,0,0);将这些项目添加到内存中,并且没有任何效果。无论何时包含-webkit-overflow-scrolling: touch;,导航栏仍然会消失/出现故障。

有没有人之前有过这个故障并想出来了?我真的不想加载一个完整的JS库来处理我的滚动,但如果我无法解决这个问题,我可能不得不这样做。非动量滚动感觉如此笨重和无法使用。

2 个答案:

答案 0 :(得分:3)

我遇到了同样的问题。我有一个-webkit-transform: translate3d(0,0,0);项目列表,我启用-webkit-overflow-scrolling: touch;时没有显示这些项目。我的问题是我将-webkit-transform: translate3d(0,0,0);嵌套在另一个div中的元素。

换句话说,在溢出滚动:触摸和具有translate3d的孩子之间有一个div。没有意识到他们必须是直接的孩子。

一旦我直接巩固了我的div,它就会停止隐藏元素并完美地工作。希望能帮助到你。

答案 1 :(得分:0)

我有同样的问题。就我而言,我试图使用::before来显示覆盖图。我在Chrome上工作,但在Safari / iPhone上工作。我最终没有使用它,而是将其替换为::after