offset / client / scroll 三大系列
1. 偏移量(offset dimension)
| 属性 | 说明 |
|---|---|
offsetHeight | 元素在垂直方向上占用的空间大小(像素)。包括元素高度、(可见的)水平滚动条高度、上下边框高度。 |
offsetWidth | 元素在水平方向上占用的空间大小。包括元素宽度、(可见的)垂直滚动条宽度、左右边框宽度。 |
offsetLeft | 元素的左外边框至包含元素的左内边框之间的像素距离。 |
offsetTop | 元素的上外边框至包含元素的上内边框之间的像素距离。 |
2. 客户区大小(client dimension)
| 属性 | 说明 |
|---|---|
clientWidth | 元素内容区宽度 + 左右内边距宽度。 |
clientHeight | 元素内容区高度 + 上下内边距高度。 |
3. 滚动大小(scroll dimension)
包含滚动内容的元素的大小:
| 属性 | 说明 |
|---|---|
scrollHeight | 在没有滚动条的情况下,元素内容的总高度。 |
scrollWidth | 在没有滚动条的情况下,元素内容的总宽度。 |
scrollLeft | 被隐藏在内容区域左侧的像素数;通过设置它可改变元素滚动位置。 |
scrollTop | 被隐藏在内容区域上方的像素数;通过设置它可改变元素滚动位置。 |
在确定文档的总高度时(包括基于视口的最小高度),必须取
scrollWidth / clientWidth和scrollHeight / clientHeight中的最大值,才能保证跨浏览器下得到精确结果。
对比速记
- offset:包含边框、滚动条,到
offsetParent的距离。 - client:包含内边距,不含边框。
- scroll:内容总尺寸(含溢出部分)+ 滚动距离。
来源整理自:我的有道云笔记



