Android Phonegap / Webkit / Viewport位置已修复

时间:2013-03-13 00:37:14

标签: android css html5 cordova css-position

我在使用phonegap制作的app上修复了位置问题。 到现在为止我认为它正在按预期运行,但我发现该位置在特定情况下固定“休息”。 我有一个行(div)有几个标签和每个标签的onclick与一些JavaScript和CSS我使用显示属性更改主视图..

我发现,如果我向下滚动一个视图,然后我选择更改标签,那么整行标签而不是保持“固定”在顶部,它向下移动,并得到“修复”新的低于顶部位置..

我的代码的主要布局是

<html>
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />
<head>
</head>
<body>
<div id="tabwrap">a couple of divs for tabs blah blah</div>
<div id="content">main view with hide/show etc</div>
</body>

(我包含了meta视口标记,只是指出我也使用它) 如果主视图没有向下滚动,并且它在顶部,则没有中断固定的位置,并按预期保持在顶部。 我试图通过添加每行标签的onclick事件来“欺骗”它

document.body.scrollTop = document.documentElement.scrollTop = 0;

这样它会在加载相应div中的下一个内容之前返回顶部,但没有成功..

和css

#tabwrap {height:3em; position:fixed; width:100%; }
#content { padding-top:4em; width:100%; }

这是来自jsfiddle的一个小型演示,但不知道它是否有用.. http://jsfiddle.net/B3Y5N/7/ 我删除了一些代码以使其更简单

奇怪的是,在2.3.5(三星s5570)它没有问题,我注意到4.2.2(nexus)上的问题,而我期望相反...

1 个答案:

答案 0 :(得分:2)

这里我所做的改变似乎解决了这个问题..

 #tabwrap {height:3em; position:fixed; width:100%; top:0; left:0; z-index:100;}

 #content {position absolute; top:4em; width:100%; height:100%}

也从html文档中删除了

height:device-height

来自

meta name=viewport tag