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)主要用于获取元素的位置和尺寸信息,适合用于计算和布局调整。
  • 这些属性与元素的定位和布局密切相关,但在设置样式时需要注意其不带单位的特点。
相关推荐
竹林8182 小时前
从 ethers.js 迁移到 Viem:一个签名验证 Bug 让我彻底放弃旧爱
javascript
你挚爱的强哥2 小时前
Vue2 实现 1.5s 十连击监听(连续点击若干次),封装通用可复用点击检测工具,不用 data!Vue 封装通用连击监听方法,支持自定义时长与点击次数
前端·javascript·vue.js
半个落月2 小时前
用 LangChain.js 手写一个能读写文件和执行命令的 Mini Cursor
javascript·人工智能·后端
天外天-亮2 小时前
HBuilder X 使用 uview-plus 方式
开发语言·javascript·hbuilder x·uview-plus
我有满天星辰4 小时前
Vue项目脚手架之争:create-vue与Vue CLI全面对比
前端·javascript·vue.js
多加点辣也没关系7 小时前
JavaScript|第9章:对象 — 基础
开发语言·javascript·ecmascript
我有满天星辰7 小时前
Vue 2 与 Vue 3 计算属性完全指南:从 Options API 到组合式 API 的演进
前端·javascript·vue.js
后台开发者Ethan8 小时前
setState组件更新
前端·javascript·react
蜡台9 小时前
uniapp vue2 转 vue3
前端·javascript·uni-app·vue3·vue2
WindfallSheng9 小时前
从Vibe Coding到Spec Coding:一套可落地的AI-SDD企业级研发实战工程
javascript·vue.js