🔰 基础属性
offset* 属性
offsetWidth、offsetHeight、offsetTop、offsetLeft - 元素的布局尺寸和相对于 offsetParent 的位置
client* 属性
clientWidth、clientHeight、clientTop、clientLeft - 元素的可见区域尺寸(不含滚动条)
scroll* 属性
scrollWidth、scrollHeight、scrollLeft、scrollTop - 元素的内容尺寸和滚动位置
offsetParent
查找元素的定位父级元素,理解定位上下文和层级关系
🎯 核心 API
getBoundingClientRect()
获取元素相对于视口的位置和尺寸信息 - 最常用的定位 API
getClientRects()
获取元素的所有矩形区域 - 适用于多行文本和复杂布局
scrollIntoView()
滚动元素到可见区域,支持平滑滚动和对齐控制
🌐 窗口和文档
window API
innerWidth、innerHeight、scrollX、scrollY - 浏览器窗口尺寸和滚动位置
document 滚动兼容
documentElement.scrollTop 等属性的浏览器兼容性处理