1

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

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

红色<div>应固定在顶部。如果我向下滚动页面,元素会从视口的顶部边缘移动一点(设备像素中正好 93px);但是如果我向上滚动,元素会返回到正确的位置。

(HTC Desire 的屏幕截图):

HTC Desire 上的屏幕截图

我的发现:

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

谢谢

4

3 回答 3

3

此问题已在内部修复,Opera Mobile 11.5 版本应该可以正常运行。

于 2011-10-21T15:00:09.097 回答
2

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

noindex:-o-prefocus,div {位置:绝对;}

于 2011-10-21T12:40:04.730 回答
0

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

于 2011-10-21T12:40:20.723 回答