Opera Mobile неправильно рассчитывает положение: исправлено - PullRequest
1 голос
/ 22 мая 2011

У меня интересная проблема с позицией: исправлено в 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)
  • Установка или удаление свойств "top" / "left" не помогло
  • Установка свойств "z-index" или "display" для некоторого значения не исправила это
  • Это показывает это поведение, даже когда я перемещаю область просмотра с window.scrollTo(x, y)
  • Настройка «увеличения» на «сброс» не работает
  • События мыши проходят через этот элемент к элементу под ним (если он находится в неправильной позиции)
  • Попытка взлома IE не сработала:)

Спасибо

Ответы [ 3 ]

3 голосов
/ 21 октября 2011

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

2 голосов
/ 21 октября 2011

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

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

0 голосов
/ 21 октября 2011

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

...