javascript - 在 IOS 上固定位置和倾斜

标签 javascript ios css uiwebview css-position

当倾斜 iPhone 或 iPad 时,我的网站出现固定位置问题。我已经阅读了很多关于 IOS 中固定定位的主题,但即使它在前一段时间是一个大主题,现在 IOS 的 Safari 似乎支持 CSS“position: fixed”(至少部分根据 http://caniuse.com/#search=fixed ).事实上它大部分时间都有效,但当我倾斜我的设备时,我还有一个问题。

我 body 里有:

<header>Title</header>
<main>Content</main>

和:

header {
  position: fixed;
  left: 0;
  top: 0;
  z-index: 10;
  height: 50px;
  padding: 0px 10px;
  width: inherit;
}

当我以横向查看我的网站时,滚动一下然后返回纵向,固定定位的元素(我的标题)最终位于页面中间,保持其横向大小。我只需手动滚动一下或触摸屏幕,一切就绪。

如何避免刚刚倾斜后显示错误?既然应该支持固定定位,我宁愿避免使用任何其他库,例如 iScroll。当屏幕调整大小时,我也尝试使用 jquery 滚动,但它不能完全工作。

$(window).resize(function(event) {
  var currentPosition = $(window).scrollTop();
  $(window).scrollTop(currentPosition+1);
});

在 IOS5 设备上使用这个解决方案,固定标题正确地保持在顶部,但是当从横向转换为纵向时,它保持其横向大小(在屏幕上触摸手动滚动使标题获得正确的大小) .

感谢您的帮助。

最佳答案

我做了一些实验,并解决了使用 meta viewport 标签时遇到的问题。我的头标签包含:

<meta name="viewport" content="width=device-width, maximum-scale=1.0" />

我试过:

<meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0" />

现在我不再有错误的倾斜行为,缩放仍然被禁用。它似乎也适用于 android 以及顶部和底部固定位置。

关于javascript - 在 IOS 上固定位置和倾斜,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21451427/

相关文章:

javascript - 页面加载时无法在 div 中显示颜色填充动画

javascript - 如何优化代码?

iphone - 关于 AudioQueue : request to trim 0 + 1676 = 1676 frames from buffer containing 1152 frames 的 XCODE AVAudioPlayer 错误

html - 调整浏览器大小时,文本会截断页面

javascript - 使用 jquery/ghost 在特定页面上使事件页面样式不同

javascript - 如果这些属性中的任何一个为空,则不显示该项目

ios - 错误后重新订阅 Observable

ios - 从 View Controller 中删除特定的自定义 View 、uiview、textview 等

jquery - 如何预先隐藏某些内容以准备在 jQuery 动画中公开它?

jquery - FullCalendar - 未设置事件时添加不可用并设置背景色