0

我在使用 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" />

这是实际问题的几个屏幕截图:

应用截图1,内容底部被截断

应用程序截图 2,再次,视口的底部内容被切断

正如您从屏幕截图中看到的那样,渐变“应该”填充整个页面(即,随着内容扩展),并且它没有,因为在视口边缘似乎有一个硬截止,所以不仅仅是一个内容页面未显示。虽然在这些屏幕截图中看不到垂直滚动条,但它们应该出现并且滚动工作正常,但“首屏下方”没有显示任何内容。

我没有使用 iScroll 或任何其他滚动脚本,仅供参考。

我不确定这是否是某种高度问题,因为我有一个 min-height:100%; 在页面的 html 和正文上设置,或者如果它是元标记中的某种宽度设备宽度问题?我也不相信我有任何 overflow-y:hidden 集,因为这会限制其他平台上的内容,而且它们工作得很好。

我觉得我一定错过了一些非常基本的东西,因为我确信它必须是某种将内容限制在视口中的 CSS 设置,并且详尽的谷歌搜索找不到类似的问题。

4

2 回答 2

1

检查您的应用程序的默认方向是否设置为纵向而不是横向,或者它是否甚至支持纵向。它几乎看起来像是在以横向模式显示应用程序,而在纵向模式下则清晰可见。您可以在 Target>General 选项卡或 info.plist 中找到可用的方向。

于 2013-10-10T19:11:32.383 回答
0

所以我已经修复了它,奇怪的是,我不确定我做了什么来解决这个问题。

我将 .ui-page 选择器从 jquery-mobile 文件移动到我自己的 css 文件,从 html 选择器中删除了 min-height 并从 html、body 选择器和繁荣中删除了溢出-x,它现在似乎正在工作如预期。古怪...但是,嘿,胜利就是胜利。:)

于 2013-10-11T19:10:28.260 回答