在WebView中显示键盘后出现左上边距

时间:2011-11-25 17:09:48

标签: keyboard webview cordova margin

我在PhoneGap中有一个Web应用程序,宽度和高度为100%,它填满了整个页面,但当我输入或尝试将值(数字)输入<input>字段时,页面顶部和右侧显示-3px宽边距。我甚至尝试将body的边距改为-3px之后,但仍然存在白色差距,目前仅在Android 2.2和2.3中出现。这是一个错误,还是我唯一有这个问题的人?

3 个答案:

答案 0 :(得分:0)

它与固定位置页眉和页脚有关。当导航到输入所在的页面时,我将页眉和页脚的位置css属性更改为非固定,并将正文位置更改为jQuery中的默认值(css('position', ''))。当导航到需要固定位置的页面时,我只是将其更改回来。

答案 1 :(得分:0)

我在我正在处理的应用上遇到此错误。我确信这是Android 2.2及更高版本的错误。我尝试了几种可能的解决方案,并找到了一种有效不幸的是,我不知道为什么会这样。它由三部分组成。

在css文件中,我插入了以下内容:

#offset_wrapper {
      position: absolute;
      top: -20px;
}

每次应用导航到包含固定位置元素的网页时,我们都会插入以下代码段:

$("div#main_container").append("<div id='offset_wrapper'>" + window.pageXOffset + "</div>");

随后,每当应用程序从这些页面导航时,都会应用以下代码。

$("#offset_wrapper").remove();

答案 2 :(得分:0)

我知道,但我通过在我的固定元素上指定left:0来修复我的phonegap应用程序中的这个或非常类似的问题。一般来说,我只保留了我的100%宽度固定导航页眉和页脚元素的顶部或底部。

当键盘飞出时,会出现约5个像素的边距。添加left:0阻止了我的发生。