#html #css-position #opera-mobile
#HTML #css-position #opera-mobile
Вопрос:
У меня интересная проблема с позицией: исправлена в Opera Mobile 11:
Тестовая страница:http://dl.dropbox.com/u/841468/testcase/opera/fixed.html
Красный <div>
должен оставаться фиксированным сверху. Если я прокручиваю страницу вниз, элемент немного смещается от верхнего края окна просмотра (ровно 93 пикселя в пикселях устройства); но если я прокручиваю вверх, элемент возвращается в правильное положение.
(Скриншот на HTC Desire):
Мои выводы:
- Изменение уровня масштабирования не помогло и не изменило положение элемента с верхнего края.
- Это корректно работает в эмуляторах Opera Mobile (как 10.1b, так и 11)
- Установка или удаление свойств «сверху» / «слева» не помогло
- Присвоение свойствам «z-index» или «display» некоторого значения не исправило это
- Это показывает такое поведение, даже когда я перемещаю окно просмотра с
window.scrollTo(x, y)
- Установка «zoom» на «reset» не сработала
- События мыши проходят через этот элемент к элементу под ним (если он находится в этом неправильном положении)
- Попытка взлома IE не сработала 🙂
Спасибо
Комментарии:
1. Информация: Также нарушена в Opera Mobile 11.1
Ответ №1:
Эта проблема была исправлена внутри, и версия Opera Mobile 11.5 должна выйти с корректной работой.
Ответ №2:
К сожалению, для этого нет исправления, похоже, это известная ошибка в Opera, и они работают над ней. Я исправил эту ошибку, используя небольшой CSS-хак, специфичный для Opera, и тем временем поместив div в абсолютное положение:
нет индекса:-o-prefocus, div {позиция: абсолютная; }
Комментарии:
1. Я только что прошел проверку в Opera 11.5 и могу подтвердить, что это исправлено. Теперь он ведет себя как в Firefox Mobile, то есть фиксированная позиция остается в начальной позиции, прежде чем снова появиться на месте… Я полагаю, это вызвано проблемами с производительностью, но это не элегантное решение: (
Ответ №3:
Это известная проблема в Opera, и мы активно работаем над исправлением. Хотя это сложная проблема, связанная с отображением при рендеринге.