offset 翻译过来就是 “偏移量” 的意思,通过 offset 系列的属性可以动态的获取元素的宽、高、top值、left值等;通过 offset 获取的是任意样式列表中的样式值,这些属性都是只读属性只可获取不能赋值;offset 系列获取的值均没有单位都是数字类型。
offsetParent
element.offsetParent
该属性会返回当前元素最近的带有定位的父级元素,如果父级元素都没有设置定位则返回 body 标签
element
需要获取对应值的 DOM 元素
<div class="box">
<p>p 标签</p>
</div>
<script>
function $(selector) {
return document.querySelector(selector)
}
// 打印最近的设置了定位的元素
console.log($('.box > p').offsetParent) // body
</script>
offsetWidth
element.offsetWidth
获取元素的宽度值;其值是当前元素的 左右 padding + 左右 border + 内容宽度 的和。
<div id="dv1">
dv1
<div id="dv2"