30 дек. 2011 г.

position: relative в Opera 9.X-10.X

Столкнулся с глюком в 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;
}

Комментариев нет:

Отправить комментарий