Javascript 什么';s style.left和element.offsetLeft之间的不同

Javascript 什么';s style.left和element.offsetLeft之间的不同,javascript,dom,Javascript,Dom,谁能告诉我样式。left和元素。offsetLeft之间有什么不同,是相同的吗?您可以设置样式。left-它是用户可定义的,甚至可以保持空白,而offsetLeft始终是只读的,并且始终有一个值-当前位置。元素。offsetLeft返回当前元素左上角在offsetParent节点内向左偏移的像素数 elem.style.left这是一个获取属性,style属性的leftstyle表示css规则,而另一个表示元素相对于父元素的实际偏移量,无论定位是由css还是其他原因引起的,就像另一个对象、间距、

谁能告诉我
样式。left
元素。offsetLeft
之间有什么不同,是相同的吗?

您可以设置
样式。left
-它是用户可定义的,甚至可以保持空白,而
offsetLeft
始终是只读的,并且始终有一个值-当前位置。

元素。offsetLeft
返回当前元素左上角在offsetParent节点内向左偏移的像素数


elem.style.left
这是一个获取属性,style属性的left

style
表示css规则,而另一个表示元素相对于父元素的实际偏移量,无论定位是由css还是其他原因引起的,就像另一个对象、间距、,或任何形式。

样式。left
是从视口屏幕的左侧定位,而
元素。offsetLeft
是从外部父元素的左侧偏移位置。offsetLeft返回从节点左边缘到父节点的距离(以像素为单位)


style.left
是节点的CSS样式,可以采用以下任何格式:
因此,element.style.left=element.offsetLeft+element.parentNode.offsetLeft?@user2155362是正确的。看见请记住offsetLeft是一个只读值。错误:style.left在默认情况下为空,因为
position
static
。它通过<代码>位置:相对<代码>变为相对于其静态位置,通过<代码>位置:固定<代码>变为相对于视口,通过<代码>位置:绝对<代码>变为相对于下一个偏移父对象。所以offsetLeft应该是它的相对位置,加上(这是一个猜测)边距和变换。为什么获取和设置元素的x位置或y位置如此复杂?我的实验都失败了。5年后,还没有一个答案能够真正确定一个元素的位置!