我们在iOS 7的Safari上看到一个Web应用程序的高度为100%的问题。window.innerHeight(672px)与window.outerHeight(692px)不匹配,但仅在横向模式下。最终发生的事情是,在一个应用程序的身高100%的高度,你得到20px的额外空间。这意味着,当用户在我们的应用程序上向上滑动时,导航元素被拉到浏览器chrome之后。这也意味着在屏幕底部的任何绝对定位的元素最终都是20px。
这个问题在这个问题中也有概述:
IOS 7 – css – html height – 100% = 692px
并且可以在这个模糊的屏幕截图中看到:
我们想要做的是破解这个,所以,直到苹果修复的bug,我们不必担心它。
这样做的一种方式是绝对定位的身体只有在iOS 7,但这几乎是额外的20px在页面的顶部而不是底部:
body { position: absolute; bottom: 0; height: 672px !important; }
任何帮助强制outerHeight匹配innerHeight,或黑客它,使我们的用户不能看到这个问题,将非常感谢。