Opera Mobile错误地计算位置:已修复

时间:2011-05-22 19:41:48

标签: html css-position opera-mobile

我有一个有趣的位置问题:在Opera Mobile 11中修复:

测试页面:http://dl.dropbox.com/u/841468/testcase/opera/fixed.html

红色<div>应该保持在最顶层。如果我向下滚动页面,元素会从视口的上边缘移动一点(设备像素中只有93像素);但如果我向上滚动,元素将返回正确的位置。

(HTC Desire上的截图):

Screenshot on HTC Desire

我的发现:

  • 更改缩放级别没有帮助,也没有从顶边更改元素位置。
  • 它在Opera Mobile模拟器(10.1b和11)中正常工作
  • 设置或删除“顶部”/“左侧”属性没有帮助
  • 将“z-index”或“display”属性设置为某个值并未修复
  • 即使我使用window.scrollTo(x, y)
  • 移动视口,也会显示此行为
  • 将“缩放”设置为“重置”不起作用
  • 鼠标事件通过此元素到达其下的元素(如果它处于不正确的位置)
  • 尝试IE黑客行为不起作用:)

由于

3 个答案:

答案 0 :(得分:3)

此问题已在内部修复,Opera Mobile 11.5版本应该正常推出。

答案 1 :(得分:2)

不幸的是,没有解决这个问题,它似乎是Opera的一个已知错误,他们正在努力。 我通过使用一个特定于Opera的CSS hack并将div放在绝对位置来解决这个问题:

noindex:-o-prefocus,div {position:absolute; }

答案 2 :(得分:0)

这是Opera的一个已知问题,我们正积极致力于修复。这是渲染时涉及绘画的复杂问题。