Столкнулся с глюком в Opera 9.X-10.X (проверял на 9.64, 10.10, 10.63): при назначении через CSS параграфу position: relative его стили left и top считаются неверно (точнее, не пересчитываются - они должны обнулиться, а остаются равными offsetLeft, offsetTop).
Как следствие, код
element.style.left = element.getStyle("left");
element.style.top = element.getStyle("top");
дёргает элемент вниз-вправо, хотя по идее положение элемента на странице визуально не должно измениться (в остальных браузерах так и есть). Где-то начиная с версии Opera 11.11 эта ошибка исправлена.
Лечение. Надо явно задать нулевые начальные значения для left и top, и Опере станет лучше:
.relative-class {
position: relative;
left: 0;
top: 0;
}
Как следствие, код
element.style.left = element.getStyle("left");
element.style.top = element.getStyle("top");
дёргает элемент вниз-вправо, хотя по идее положение элемента на странице визуально не должно измениться (в остальных браузерах так и есть). Где-то начиная с версии Opera 11.11 эта ошибка исправлена.
Лечение. Надо явно задать нулевые начальные значения для left и top, и Опере станет лучше:
.relative-class {
position: relative;
left: 0;
top: 0;
}
Комментариев нет:
Отправить комментарий