这种情况发生在Chrome和Safari的iphone上 - 我无法在任何其他系统上复制它,但似乎无法在iphone上找到修复程序。
我为小屏幕创建了一个滑出汉堡菜单;使用位置:固定。除了iPhone之外,它的效果非常好。如果它是铬或野生动物园那并不重要。当您向下滚动页面时,菜单会慢慢滚动屏幕顶部的屏幕。我使用查询删除并重新显示负边距以隐藏和显示它,并在内容窗口中添加一个负边距,以便将内容滑到一边。
如果我没有在内容窗口上使用负边距(通过#wrapper),则固定窗口会保留在应有的位置,固定在顶部。但#wrapper中的内容被压缩到屏幕的剩余宽度,而不是继续显示与菜单一起滑动到侧面。
它似乎影响了所有固定的实例,因为粘性菜单也滚动屏幕。当您滚动时,几乎就像0点正在改变一样。
我难倒难倒。我无法弄清楚这是一个错误,还是我在这里遗漏了一些东西。我已经尝试了很多方法来修复它并且每次都空手而归。复杂,我不能使用简单的html和css复制,但我找不到任何错误。我已经尝试使用iphone链接在safari中使用开发工具;这就是我如何找到负边际问题,但我似乎无法解决。
它不是jquery,因为它没有设置顶部,但我也关闭了功能,只是让代码以#wrapper上的负边距开始,菜单滚动了屏幕。另外值得注意的是,小的负边距并不会导致问题;它必须是一个很大的负利润。
似乎涉及div#wrapper,div#MobileNav,div#NavBar和body的容器。 div#MobileNav和div #NavBar是包装器外部和body标签内的固定位置。
网址在这里:http://fusedjaw.terminus13.com/你应该可以复制任何小于480px的设备。我也有屏幕截图: https://imgur.com/gallery/eP7LZ
箭头指向固定菜单"如何移动"什么时候开jquery在包装器中添加了一个.open类,它增加了负边距,似乎将所有内容都抛出。
第二个是滚动到顶部,它似乎尊重真正的0位置。
答案 0 :(得分:1)
看起来像是使用left
/等固定定位,滚动和偏移的iOS错误。 (我想知道使用transform / translateX会更好吗?)
我在去年找到了一个相关的SO帖子,并在您的网站上找到了适合我的修补程序:https://stackoverflow.com/a/31879732/4573410
具体来说,在调试器中添加它可以解决iOS Safari上的漂移问题:
html {
overflow-x: hidden;
overflow-y: scroll;
}