iOS8上新的固定位置错误

Mik*_*are 9 scroll position fixed ios ios8

我有一个固定标题和滑出侧边栏的网站.当iOS7处于纵向方向时,固定标题在侧边栏可见时保持固定,但在iOS8上,标题会略微向上推,具体取决于您向下滚动的距离.我需要它来保持固定.

看到这个jsbin:http://jsbin.com/xuyevi/2/

主要部分是标题,侧边栏和主要内容.标题使用固定位置固定在屏幕顶部,并具有z-index,使您在滚动时将其保持在内容之上.

侧边栏固定在屏幕的左侧,最初通过左侧自己的宽度进行隐藏.

要打开侧边栏,每个标题,内容和侧边栏都会按侧边栏的宽度向右平移.

同样,这在iOS7和支持translate3d的所有其他浏览器上完美运行,并且在横向方向上甚至可以在iOS8中正常工作.但是在纵向iOS8中,固定标题将根据用户滚动的距离从屏幕上滑落.

此外,使用Safari检查器显示屏幕上的菜单项偏离其预期位置.即在检查器中选择一个元素时,会突出显示屏幕上与其呈现的实际位置偏移的区域.

有没有其他人遇到这个?有人知道修复吗?

编辑:检查员认为固定位置标题正好在它应该的位置,即使它实际上被推离屏幕.

iX3*_*iX3 0

我试图做类似的事情(请参阅此处此处),然后发现苹果发布了一份技术说明,建议避免固定定位。我发誓它在 iOS 7 中工作得很好,但现在在 iOS8 中它不再“粘住”了。

这个问题似乎与设置此元标记密切相关:

    <meta name="viewport" content="width=device-width">
Run Code Online (Sandbox Code Playgroud)

另请参阅:将 div 固定到底部而不使用 css 位置