我们在 iOS 7 的 Safari 上看到高度为 100% 的 Web 应用程序存在问题。window.innerHeight (672px) 似乎与 window.outerHeight (692px) 不匹配,但仅在横向模式下。最终发生的情况是,在一个身体高度为 100% 的应用程序中,您将获得 20 像素的额外空间。这意味着当用户在我们的应用程序上向上滑动时,导航元素会被拉到浏览器 chrome 后面。这也意味着位于屏幕底部的任何绝对定位元素最终都会偏离 20 像素。
这个问题也在此处的问题中进行了概述: IOS 7 - css - html height - 100% = 692px
并且可以在这个模棱两可的屏幕截图中看到:
我们正在尝试做的是解决这个问题,以便在 Apple 修复错误之前,我们不必担心它。
这样做的一种方法是仅在 iOS 7 中绝对定位正文,但这几乎会将额外的 20px 放在页面顶部而不是底部:
body {
position: absolute;
bottom: 0;
height: 672px !important;
}
任何有关强制 outerHeight 匹配 innerHeight 或绕过它以使我们的用户看不到此问题的帮助将不胜感激。