【发布时间】:2014-10-15 20:00:29
【问题描述】:
我有一个带有固定标题和滑出侧边栏的网站。在 iOS7 纵向时,固定标题在侧边栏可见时保持固定,但在 iOS8 上,标题略微向上推动,具体取决于您向下滚动的距离。我需要它保持固定。
看到这个jsbin:http://jsbin.com/xuyevi/2/
主要部分是标题、侧边栏和主要内容。标题使用固定位置固定在屏幕顶部,并具有一个 z-index,可在您滚动时将其保持在内容上方。
侧边栏固定在屏幕的左侧,最初通过向左平移其自身宽度来隐藏。
要打开侧边栏,每个标题、内容和侧边栏都会向右平移侧边栏的宽度。
同样,这在 iOS7 和所有其他支持 translate3d 的浏览器上完美运行,甚至在 iOS8 中横向时也能正常运行。但在 iOS8 纵向模式下,固定标题会根据用户向下滚动的距离滑出屏幕。
此外,使用 Safari 检查器显示屏幕上的菜单项偏离了它们的预期位置。 IE。在检查器中选择一个元素会突出显示屏幕上偏离实际渲染位置的区域。
还有其他人遇到过这种情况吗?有人知道解决办法吗?
编辑:检查员认为固定位置标题正是它应该在的位置,即使它实际上被推离屏幕。
【问题讨论】:
-
我也遇到了这个问题。我注意到当使用
position: fixed时,容器的宽度大约是4/3比它的父级大。使用position: -webkit-sticky没有这个问题,但在我的情况下不起作用(不透明度/背景图像有问题)。如果/当我解决这个问题时,我会在这里发布答案。 -
我为我们的网站解决了这个问题,方法是从“推送”效果转变为“滑过”效果。主要内容现在保持不变,而侧边栏和标题滑入其中。如果可以的话,我宁愿回到推送,但现在我没有时间花在 iOS8 中似乎是错误的东西上。
标签: ios scroll position ios8 fixed