offset三大家族

以下是关于 offset 三大家族的知识点总结:

1. offsetParent

  • 定义offsetParent 是距离目标元素最近的已定位(position 不为 static)的祖先元素。
  • 特点
    • 如果父级元素都没有定位,则 offsetParentbody
    • parentNodeparentElement 不同,offsetParent 与定位有关。

2. offsetLeft 和 offsetTop

  • 定义offsetLeftoffsetTop 分别表示目标元素相对于其 offsetParent 左边缘和上边缘的偏移量。
  • 特点
    • 如果父级元素都没有定位,则偏移量是相对于 body 的距离。
    • 这些值适合用于计算,但不带单位,因此不能直接用于设置样式。

3. offsetWidth 和 offsetHeight

  • 定义offsetWidthoffsetHeight 分别表示目标元素的布局宽度和高度。
  • 包含内容
    • 内容区域、内边距(padding)和边框(border)。
    • 不包括外边距(margin)。
  • 特点
    • 这些值适合用于计算,但不带单位,因此不能直接用于设置样式。

4. 注意事项

  • 计算高度offsetHeight 不会包含 margin
  • 与定位的关系offsetParent 与定位有关,而 parentNodeparentElement 与定位无关。
  • 使用场景offsetLeftoffsetWidth 等属性适合用于计算,但不适合直接用于设置样式。

5. 总结

  • offset 三大家族(offsetParentoffsetLeft/offsetTopoffsetWidth/offsetHeight)主要用于获取元素的位置和尺寸信息,适合用于计算和布局调整。
  • 这些属性与元素的定位和布局密切相关,但在设置样式时需要注意其不带单位的特点。
相关推荐
_柳青杨32 分钟前
一文吃透 Node.js 事件循环:从原理到 Node 20+ 重大变更
javascript·后端
JieE21211 小时前
LeetCode 101. 对称二叉树|JS 递归 + 迭代双解法,彻底搞懂镜像判断
javascript·算法
冬奇Lab13 小时前
AI Workflow 定义的四次演进:从 Markdown 到 JS 脚本,再到分布式多 Agent
javascript·人工智能·agent
一颗烂土豆19 小时前
Meshopt 压缩深度解析,为什么它比 Draco 更快
前端·javascript·webgl
kyriewen21 小时前
同事每天催我 Code Review,我写了个脚本让 AI 替我 review PR——现在他反过来催 AI 了
前端·javascript·ai编程
weedsfly1 天前
迭代器、生成器与异步迭代——让数据“按需流动”的艺术
前端·javascript
假如让我当三天老蒯1 天前
前端跨域解决方案(学习用)
前端·javascript·面试
铁皮饭盒1 天前
Bun 哪比 Node.js 快?
javascript·后端
JieE2121 天前
LeetCode 56. 合并区间|超清晰 JS 图解思路,面试高频区间题
javascript·算法·面试
candyTong2 天前
RTK 技术原理:一次典型会话里,80% 上下文是怎么省下来的
javascript·后端·架构