我有一个jquery移动页面,其中有一个文本框。单击文本框后,虚拟键盘将显示在电话屏幕上。
问题从这里开始。如果我在android 2.3.3中运行页面,当键盘出现时,页面上的页脚会出现。但是当我在ICS上运行我的页面时,这不会发生。我知道android 2.3.3中有关于标题amd footer(github link)的固定定位的错误。
这个问题出于同样的原因吗?
请帮助!!谢谢!!
答案 0 :(得分:5)
确保通过将此元标记添加到您的头部来禁用应用缩放:
<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no">
像往常一样使用页脚创建页面。请务必不要添加data-position="fixed"
而是将一个“fixedFooter”类添加到页脚的class属性中:class="fixedFooter"
在CSS(-file)中创建“fixedFooter”类:
.fixedFooter
{
position: fixed !important;
left: 0px !important;
right: 0px !important;
bottom: 0px !important;
z-index: 999 !important;
}
答案 1 :(得分:1)
如果您的代码适用于ICS但在Android 2.3.x中无效,这是因为style="position:fixed;"
中的2.3.x错误
在你的HTML头改变元中:
<meta name="viewport" content="width=device-width, initial-scale=1.0,
minimum-scale=1.0, user-scalable=no"/>
这解决了Android 2.3.x问题。
更多信息:
http://benfrain.com/easy-css-fix-fixed-positioning-android-2-2-2-3/
http://bradfrostweb.com/blog/mobile/fixed-position/
编辑:
我不建议更改所有设备的视口。它可能会导致不同的行为,例如用户无法进行缩放,捏合等。如果用户使用Gingerbread,则应检测访问者是否使用Gingerbread设备并更改视口。要查看Android版本,您可以使用:
Detecting Android Browser (from v. 1 to 2.3 firmware) in PHP
答案 2 :(得分:0)