Opera Mobile неправильно рассчитывает позицию: исправлено

У меня интересная проблема с position: исправлено в Opera Mobile 11:

Тестовая страница: http://dl.dropbox.com/u/841468/testcase/opera/fixed.html

Красный <div> должен оставаться сверху. Если я прокручиваю страницу вниз, элемент немного перемещается от верхнего края области просмотра (ровно 93 пикселя в пикселях устройства); но если я прокручиваю вверх, элемент возвращается в правильное положение.

(Скриншот на HTC Desire):

Скриншот на HTC Desire

Мои выводы:

  • Изменение уровня масштабирования не помогло и не изменило положение элемента от верхнего края.
  • Корректно работает в эмуляторах Opera Mobile (как 10.1b, так и 11)
  • Установка или удаление свойств «сверху» / «слева» не помогло
  • Установка свойств «z-index» или «display» на какое-либо значение не исправила это.
  • Это показывает это поведение, даже когда я перемещаю область просмотра с помощью window.scrollTo(x, y)
  • Установка «масштабирования» на «сброс» не сработала.
  • События мыши проходят через этот элемент к элементу под ним (если он находится в неправильном положении)
  • Попытки взлома IE не сработали :)

Спасибо


person kuvik    schedule 22.05.2011    source источник
comment
Информация: Также не работает в Opera Mobile 11.1.   -  person kuvik    schedule 01.07.2011


Ответы (3)


Эта проблема была исправлена ​​внутри, и версия Opera Mobile 11.5 должна работать корректно.

person shwetank    schedule 21.10.2011

К сожалению, для этого нет исправления, похоже, это известная ошибка в Opera, и они работают над ней. Я обошел эту ошибку, применив небольшой CSS-хак для Opera и тем временем установив div в абсолютное положение:

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

person yvg    schedule 21.10.2011
comment
Я только что проверил в Opera 11.5 и могу подтвердить, что это исправлено. Теперь он ведет себя как в Firefox Mobile, то есть фиксированная позиция остается в исходной позиции, прежде чем снова появиться на месте… Я полагаю, это вызвано проблемами с производительностью, но это не элегантное решение :( - person yvg; 24.10.2011

Это известная проблема в Opera, и мы активно работаем над ее исправлением. Однако это сложная проблема, связанная с рисованием при рендеринге.

person karlcow    schedule 21.10.2011