window offset

![](Window Offset.assets/aHR0cDovL2ltZy5ibG9nLmNzZG4ubmV0LzIwMTcwMTE0MTcwNjE1NzA2.png)

OffsetWidth:对象本身的宽度 = width +padding + border,而 width 则是指css中设置的width属性,注意二者的区别。

offsetWidth 元素的高度很大部分情况是由子元素撑出高的,这个高度是无法获得的,我们所以需要这个属性获取不确定的高度值。

offsetLeft 返回与上级盒子( 带有定位的)左边的距离

offsetTop 返回与上级盒子( 带有定位的)上边的距离,如果父级都没有定位,则会以body为上级盒子。

offsetLeftoffsetTopleft top 的区别:

  1. 后两者使用时需要元素定位,而前两者则不需要。

  2. 如果没有给HTML元素指定top值( 并且必须是行内样式 <p style="width=200px;">),那么 style.top 就获取不到任何值,而 offsetTop 则可以。

  3. 前二者得到的是 200px(含有px),而后二者是 200(数字)。所以前者不方便操作(我们经常需要对获取的长度进行加减操作)。

  4. 前二者是只读的,无法更改,而后二者是读写得

offsetParent 返回该对象的父级( 不一定是直接父类,带有定位的)

最后更新于