我在iOS上的Google App中遇到同樣的問題。 100%高度的網站,上面和下面都有絕對定位的元素。
原因
正確地檢測到谷歌應用程序的視口的高度,但谷歌應用程序投入的默認頂部他的地址欄上的網站,並在底部的一些其他酒吧如逢過的網站。因此,屬於Google應用的這些元素就像您網站上絕對定位的元素。
但是,當您打開網站時,Google App會「向下滾動」一些網站,以便網站頂部出現在地址欄下方(否則網站的頂部將會隱藏。整個網站如30px,其中100%高度的網站使其看起來像視口爲100%+ 30px。當您滾動一下時,頂部的地址欄和底部的其他欄消失,網站將會完美展現。
解決方法
一個指令添加到重新調整應用程序的高度與viewpo的innerheight身體RT。在我的情況下工作。
<body force-full-height>
<!-- Your content -->
</body>
...
(function() {
var app = angular.module('my.directives', []);
app.directive('forceFullHeight', forceFullHeight);
forceFullHeight.$inject = [
'$window',
'$rootScope'
];
function forceFullHeight($window, $rootScope) {
return {
restrict: 'A',
link: function link(scope, element, attrs) {
function onResize() {
element.css('height', $window.innerHeight + 'px');
};
function cleanUp() {
angular.element($window).off('resize', onResize);
}
angular.element($window).on('resize', onResize);
scope.$on('$destroy', cleanUp);
scope.$on('$viewContentLoaded', onResize());
}
};
}
})();