浏览器html的DOM尺寸相关api

先来看三幅图,如果能解决问题就可以不往下看了
浏览器html的DOM尺寸相关api
浏览器html的DOM尺寸相关api
浏览器html的DOM尺寸相关api

1. offset

offset偏移,包括这个元素在文档中占用的所有显示宽度,包括滚动条、paddingborder,不包括overflow隐藏的部分
  1. offsetParent属性返回一个对象的引用,这个对象是距离调用offsetParent的父级元素中最近的(在包含层次中最靠近的),并且是已进行过CSS定位的容器元素。 如果这个容器元素未进行CSS定位, 则offsetParent属性的取值为根元素的引用。
  • 如果当前元素的父级元素中没有进行CSS定位(position为absolute/relative),offsetParent为body
  • 如果当前元素的父级元素中有CSS定位(position为absolute/relative),offsetParent取父级中最近的元素
  1. obj.offsetWidth 指 obj 控件自身的绝对宽度,不包括因 overflow 而未显示的部分,也就是其实际占据的宽度,整型,单位:像素。 offsetWidth = border-width2+padding-left+width+padding-right
  1. obj.offsetHeight 指 obj 控件自身的绝对高度,不包括因 overflow 而未显示的部分,也就是其实际占据的高度,整型,单位:像素。 offsetHeight = border-width2+padding-top+height+padding-bottom
  1. obj.offsetTop 指 obj 相对于版面或由 offsetParent 属性指定的父坐标的计算上侧位置,整型,单位:像素。 offsetTop= offsetParent的padding-top + 中间元素的offsetHeight + 当前元素的margin-top
  1. obj.offsetLeft 指 obj 相对于版面或由 offsetParent 属性指定的父坐标的计算左侧位置,整型,单位:像素。 offsetLeft= offsetParent的padding-left + 中间元素的offsetWidth + 当前元素的margin-left

2. scroll

scroll滚动,包括这个元素没显示出来的实际宽度,包括padding,不包括滚动条、border
  1. scrollHeight 获取对象的滚动高度,对象的实际高度;
  1. scrollLeft 设置或获取位于对象左边界和窗口中目前可见内容的最左端之间的距离
  1. scrollTop 设置或获取位于对象最顶端和窗口中可见内容的最顶端之间的距离
  1. scrollWidth 获取对象的滚动宽度

3. client

client指元素本身的可视内容,不包括overflow被折叠起来的部分,不包括滚动条、border,包括padding
  1. clientWidth 对象可见的宽度,不包括滚动条等边线,会随窗口的显示大小改变
  1. clientHeight 对象可见的高度
  1. clientTopclientLeft 这两个返回的是元素周围边框的厚度,一般它的值就是0。因为滚动条不会出现在顶部或者左侧

给TA打赏
共{{data.count}}人
人已打赏
技术教程

前端工程化入门01-前端监控

2024-6-25 11:58:07

技术教程

JavaScript复杂判断的优雅写法

2024-6-25 12:01:31

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索