有关dom节点尺寸的小结

Screen 尺寸

Node.Client

  • Node.clientTop 元素的上边框

  • Node.clientLeft 元素的左边框

  • Node.clientWidth 元素的宽度

    • box-sizing:content-box 由设置 width + 左右的 padding

    • box-sizing:border-box 由设置 width - 左右的 border

  • Node.clientHeight 元素的高度

    • box-sizing:content-box 由设置 height + 上下的 padding

    • box-sizing:border-box 由设置 height - 上下的 border

Node.offset

  • Node.offsetTop

    • 以父元素左上角为基准点 得到垂直方向的距离 由 父元素上内边距 + 子元素上外边距

    • 如果是 position:absolute 那么以参考元素节点的左上角作为基准点 得到 top

  • Node.offsetLeft

    • 以父元素左上角为基准点 得到水平方向的距离 由 父元素左内边距 + 子元素左外边距

    • 如果是 position:absolute 那么以参考元素节点的左上角作为基准点 得到 left

  • Node.offsetWidth 获取元素节点的实际占地面积

    • box-sizing:content-box 由设置 width + 左右padding + 左右border

    • box-sizing:border-box 由设置 width

  • Node.offsetHeight 获取元素节点的实际占地面积

    • box-sizing:content-box 由设置 height + 上下padding + 上下border

    • box-sizing:border-box 由设置 height

    • Node.scroll

      • Node.scrollTop获取垂直方向被卷去的高度
      • Node.scrollLeft获取水平方向被卷去的宽度
      • Node.scrollContent获取元素节点由内容撑大的高度
  • 回到顶部

    • 没有动画document.documentElement.scrollTop=0
    • 需要动画window.scrollTo({top:0,behavior:'smooth'});
  • 触底加载

    • 判断触底格式Node.scrollTop+Node.clientHeight==Node.scrollHeight
    • 被卷曲的高度+自身可视区域的高度==由内容撑大的真实高度
    • 一般情况下为了缓冲通常是左边加上某个值大于右边

坐标尺寸

  • clientY页面可视区左上角作为基准点
  • layerY定位时 以自身左上角作为基准点
  • pageY以页面顶部左上角为基准点
  • screenY以屏幕做上角作为基准点

扩展

getBoundingClientRect()

posted @   隐形的喷火龙  阅读(56)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
点击右上角即可分享
微信分享提示