我在使用 jquery mobile / phonegap 和 IOS 时遇到了一个相当奇怪的问题。
我已经创建了一个带有 html / css 的网络应用程序,到目前为止它在 android 上的工作方式与预期完全一样,(内容在视口中垂直滚动)但是在 ios 上(我的测试平台是 iphone 4s),页面垂直限制为视口。它滚动得很好,但是垂直位于视口下方的所有内容都会被截断,IE 将显示的唯一内容是我在页面上半部分看到的内容,视口下方不会显示任何内容。
我的css文件的摘录:
html, body {
min-height:100%;
overflow-x:hidden;
background-attachment:fixed;
}
body {
-webkit-touch-callout: none;
-webkit-text-size-adjust: none;
-webkit-user-select: none;
-webkit-font-smoothing: antialiased;
-webkit-backface-visibility: hidden;
-webkit-overflow-scrolling: touch;
}
和我的html页面,在head部分:
<meta charset="utf-8" />
<meta name="format-detection" content="telephone=no" />
<meta name="viewport" content="width=device-width; initial-scale=1; maximum-scale=1 minimum-scale=1; user-scalable=no" />
这是实际问题的几个屏幕截图:
正如您从屏幕截图中看到的那样,渐变“应该”填充整个页面(即,随着内容扩展),并且它没有,因为在视口边缘似乎有一个硬截止,所以不仅仅是一个内容页面未显示。虽然在这些屏幕截图中看不到垂直滚动条,但它们应该出现并且滚动工作正常,但“首屏下方”没有显示任何内容。
我没有使用 iScroll 或任何其他滚动脚本,仅供参考。
我不确定这是否是某种高度问题,因为我有一个 min-height:100%; 在页面的 html 和正文上设置,或者如果它是元标记中的某种宽度设备宽度问题?我也不相信我有任何 overflow-y:hidden 集,因为这会限制其他平台上的内容,而且它们工作得很好。
我觉得我一定错过了一些非常基本的东西,因为我确信它必须是某种将内容限制在视口中的 CSS 设置,并且详尽的谷歌搜索找不到类似的问题。