我们发现在iOS 7中的Safari上高度为100%的Web应用程序出现问题。看来window.innerHeight(672px)与window.outerHeight(692px)不匹配,但仅在横向模式下有效。最终发生的事情是,在高度为100%的应用程序中,您将获得20px的额外空间。这意味着,当用户在我们的应用程序上向上滑动时,导航元素将被拉到浏览器镶边之后。这也意味着,位于屏幕底部的所有绝对定位的元素最终都会偏离20px。
此问题也在此处概述: IOS 7-CSS-HTML高度-100%= 692px
可以在这个模糊的屏幕截图中看到:
我们正在尝试解决此问题,以便在Apple修复该错误之前,我们不必担心它。
一种方法是仅在iOS 7中绝对定位主体,但这几乎将多余的20px放置在页面顶部而不是底部:
body {
position: absolute;
bottom: 0;
height: 672px !important;
}
我们将非常感谢您提供的有关强制externalHeight匹配innerHeight或对其进行破解以使我们的用户无法看到此问题的帮助。