Кажется, что оба они могут заставить элемент двигаться из его текущего положения. Эти два метода взаимозаменяемы?
В чем разница между методом перевода CSS3 и относительным позиционированием CSS2?
Ответы (1)
Эти два метода не совсем одно и то же: перевод элемента не требует изменения его top
, left
, right
или bottom
свойств CSS, поэтому точно так же offsetTop/offseLeft
свойства Javascript не затрагиваются преобразованием CSS. Кроме того, позиция элемента также может быть static
(поэтому z-index
не требуется)
Если вместо этого вы используете position: relative
, вы измените эти свойства для визуального достижения того же эффекта.
Пример скрипта: http://jsfiddle.net/LkLey/
Конечно, если вам приходится иметь дело со старым браузером (типа IE8
или FF2
), то необходим выбор относительного позиционирования, иначе я не вижу явного удобства в выборе одного из двух методов (ну, если честно, относительное позиционирование не имеет никакой необходимости из множества префиксов -moz-
, -webkit-
... работать везде) так что выбор за вами (и зависит он от раскладки).
translate()
фактически изменит свойства offsetTop
и offsetLeft
элемента. Интересно, когда это изменилось...
- person BoltClock; 22.01.2015