MDN上说HTMLElement.offsetLeft是HTMLElement的一个只读属性,返回当前元素左上角相对于 HTMLElement.offsetParent 节点的左边界偏移的像素值。
也就是说决定offsetLeft的唯一因素是当前节点和offsetParent节点的偏移关系。
也就是说只与offsetParent有关,那么怎么确定一个元素的offsetParent呢?
一个元素的offsetParent可以是以下其中之一:
- 具有position属性(除了static值以为)的最近父元素;
- 最近的table,table cell父元素;
- 根节点元素;
- 设置了动画transform:translate的最近父元素;