1.偏移量
偏移量,包括元素在屏幕上占用的所有可见的空间
元素的可见大小包括所有内边距、滚动条和边框大小(不包括外边距)
通过以下四个属性可以取得元素的偏移量
| 属性 | 介绍 |
|---|---|
| offsetHeight | 元素在垂直方向上占用的空间大小,包括元素的高度、(可见的)水平滚动条的高度、上下边框高度 |
| offsetWidth | 元素在水平方向上占用的空间大小,包括元素的宽度、(可见的)垂直滚动条的宽度、左右边框宽度 |
| offsetLeft | 元素的左外边框至包含元素的左内边框之间的像素距离 |
| offsetTop | 元素的上外边框至包含元素的上内边框之间的像素距离 |
如图所示
包含元素的引用保存在 offsetParent 属性中,offsetParent 属性不一定与 parentNode 的值相等
例如,td 元素的 offsetParent 是 table 元素,因为 table 元素是DOM层次中距 td 元素最近的一个具有大小的元素
某个元素在页面上的偏移量,即为这个元素的 offsetLeft 和 offsetTop 与其 offsetParent 的相同属性相加,循环至根元素
2.客户区大小
客户区大小指的是元素内容及其内边距所占据的空间大小,相关属性有两个
clientHeight = 元素内容高度 + 上下内边距高度
clientWidth = 元素内容宽度 + 左右内边距宽度
3.滚动大小
以下是与滚动大小有关的4个属性
| 属性 | 说明 |
|---|---|
| scrollHeight | 在没有滚动条(即不隐藏)的情况下,元素内容的总高度 |
| scrollWidth | 在没有滚动条(即不隐藏)的情况下,元素内容的总宽度 |
| scrollLeft | 被隐藏在内容区域左侧的像素数 |
| scrollTop | 被隐藏在内容区域上方的像素数 |