我有一個PhoneGap應用程序,顯示一個相當長的文本,包含我在Android上測試的標題,表格和圖像。相對定位的元素在滾動絕對定位的div「滯後」滾動
一切工作正常,除了風格的元素position:relative
這些元素「滯後」滾動時,這意味着如果我滾動頁面,然後這些元素開始和結束滾動大約四分之一秒後。
將絕對div與相對的孩子以及overflow:auto
的孩子組合時會發生錯誤。刪除任何這些東西都會修復這個錯誤,但我寧願將它留下。雖然我願意刪除表並單獨顯示它(如在對話框中),如果必須的話。
該錯誤只出現在標準的Android瀏覽器(當然我的PhoneGap應用程序)。 到目前爲止,我已經用以下設備進行了測試:
- 三星GALAXY Nexus(4.1.1)
- 三星Galaxy S III(4.1.2)
任何幫助表示讚賞,但我更喜歡HTML和功能沒有改變(或不太多)的解決方案。
我創建了一個minimal example表示錯誤。只需打開它在你的Android和開始滾動,你應該立即看到問題:
<!doctype html>
<html>
<head><meta name="viewport" content="initial-scale=1.0"></head>
<body style="margin:0">
<div style="position:absolute;overflow:auto;top:100px;bottom:100px;width:100%">
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nullam a quam arcu. Duis ultrices mollis nibh ut hendrerit. Etiam a interdum metus. Integer volutpat, nibh laoreet euismod suscipit, libero sem iaculis lorem, ut hendrerit magna orci eu elit. Nulla eu ultricies libero. Nulla facilisi. Maecenas nec turpis vitae magna lobortis ornare sit amet ut lacus. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Nunc vestibulum lobortis orci, sit amet ornare dui congue nec. Morbi id magna at turpis auctor ultricies. Ut rhoncus quam augue, ut consectetur risus.</p>
<div style="position:relative;background:red;">relative box<br>moves slower than the other text</div>
<p>Fusce congue orci a nunc gravida sed pretium lorem convallis. Etiam hendrerit, ligula eget lobortis vestibulum, arcu sapien pharetra magna, auctor suscipit nisl tellus quis lacus. Cras id elit at ante mollis venenatis. Donec eu sollicitudin odio. Aliquam erat volutpat. Cras et tortor sed mi faucibus sagittis non quis metus. Morbi mauris ante, posuere vel rutrum id, mattis id enim. Morbi purus quam, euismod facilisis blandit quis, commodo at justo. Aliquam in fermentum nibh. Curabitur pharetra blandit risus sit amet tristique. Suspendisse potenti. Curabitur interdum eleifend justo, et dapibus justo volutpat sed.</p>
<div style="overflow:auto">
<table>
<tr><th>test</th><th>test</th><th>test</th><th>test</th><th>test</th><th>test</th><th>test</th><th>test</th><th>test</th><th>test</th><th>test</th><th>test</th><th>test</th><th>test</th><th>test</th><th>test</th><th>test</th><th>test</th><th>test</th><th>test</th></tr>
<tr><td>test</td><td>test</td><td>test</td><td>test</td><td>test</td><td>test</td><td>test</td><td>test</td><td>test</td><td>test</td><td>test</td><td>test</td><td>test</td><td>test</td><td>test</td><td>test</td><td>test</td><td>test</td><td>test</td><td>test</td></tr>
</table>
</div>
</div>
</body>
</html>
能否請您提供的jsfiddle或tinkerbin或liveweave – 2013-03-03 17:31:42
我更新的鏈接帖子。不幸的是,這些服務不會讓你添加元首。 – Thomas 2013-03-04 12:14:46
謝謝,補充回答。 – 2013-03-04 15:43:22