似乎它们都可以使元素从当前位置移动。这两种方法可以互换吗?
答案 0 :(得分:3)
这两种方法并不完全相同:翻译元素不需要更改其top
,left
,right
或bottom
CSS属性,因此同样的方式offsetTop/offseLeft
Javascript属性不会随着CSS转换而改变。此外,元素的位置也可以是static
(因此不需要z-index
)
如果您使用position: relative
,则会更改这些属性以直观地达到相同的效果。
示例小提琴:http://jsfiddle.net/LkLey/
当然,如果您必须处理旧浏览器(如IE8
或FF2
),必要的选择是相对定位,否则我无法看到选择这两种方法之一的明显方便(好吧,说实话,相对定位不需要多个前缀-moz-
,-webkit-
......无处不在)所以选择取决于你(并且取决于布局)。