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)主要用于获取元素的位置和尺寸信息,适合用于计算和布局调整。
  • 这些属性与元素的定位和布局密切相关,但在设置样式时需要注意其不带单位的特点。
相关推荐
烛阴8 小时前
Date-fns教程:现代JavaScript日期处理从入门到精通
前端·javascript
小蜜蜂嗡嗡9 小时前
flutter项目迁移空安全
javascript·安全·flutter
江城开朗的豌豆10 小时前
JavaScript篇:a==0 && a==1 居然能成立?揭秘JS中的"魔法"比较
前端·javascript·面试
江城开朗的豌豆10 小时前
JavaScript篇:setTimeout遇上for循环:为什么总是输出5?如何正确输出0-4?
前端·javascript·面试
惜.己10 小时前
MySql(十一)
java·javascript·数据库
天涯学馆11 小时前
TypeScript 在大型项目中的应用:从理论到实践的全面指南
前端·javascript·面试
北京小伙_盼12 小时前
开源项目分享:123 网盘 SDK - npm包已发布
前端·javascript·npm
骆驼Lara12 小时前
Vue3.5 企业级管理系统实战(二十一):菜单权限
前端·javascript·vue.js
Mintopia12 小时前
Three.js 后处理效果:给你的 3D 世界加一层 “魔法滤镜”
前端·javascript·three.js
Jackson__13 小时前
深入思考 iframe 与微前端的区别
前端·javascript·面试