首页 > 其他分享 >一文读懂offsetHeight/offsetLeft/offsetTop/offsetWidth/offsetParent

一文读懂offsetHeight/offsetLeft/offsetTop/offsetWidth/offsetParent

时间:2024-12-29 21:32:47浏览次数:1  
标签:元素 边框 offsetLeft offsetTop offsetHeight offsetWidth

一、偏移量

对于块级元素来说,offsetTop、offsetLeft、offsetWidth、offsetHeight描述了元素相对于offsetParent的边界框。

偏移量:包括元素在屏幕上占用的所有空间,元素的可见大小有高度,宽度决定,包括所有的内边距,滚动条和边框大小(注意:不包含外边距),本文讲解的属性可获取元素的偏移量

二、相关概念

  1. offsetHeight:获取元素的高度(在垂直方向上占用的空间大小)。
  2. offsetWidth:获取元素的宽度(元素在水平方向上占用的空间大小)。
  3. offsetTop:元素的上外边框至offsetParent元素的上内边框的距离。
  4. offsetLeft:元素的左外边框距离offsetParent的左内边框的距离。

备注:

  • 四个属性都是只读属性,返回单位是像素。
  • offsetHeight和offsetWidth返回的大小包括元素的边框、内边距和滚动条高/宽度,不包含伪元素的高度。(标准盒模型下)。
  • 这个属性将会 round(四舍五入) 为一个整数,如果想要一个 小数值,请使用element.getBoundingClientRect() 

三、案例

以下面代码为例,来分别获取元素的偏移量,具体是怎样计算请看下图分析。

 

四、计算

以标准盒模型为例:

offsetWidth = 可视区的width+左右padding+左右边框 = 450+(10*2)+(8*2)=486

offsetHeight = 可视区的height+上下padding+上下边框 = 190+(10*2)+(8*2)=226

offsetTop:由上面的css可以知道父元素设置padding为100px,所以子元素距离父元素上内边框的距离为100,所以offsetTop = 100

offsetLeft:由上面的css可以知道父元素设置padding为100px,所以子元素距离父元素左内边框的距离为100,所以offsetLeft = 100

 

标签:元素,边框,offsetLeft,offsetTop,offsetHeight,offsetWidth
From: https://www.cnblogs.com/huaan011/p/18639579

相关文章

  • offsetTop为啥会影响性能?
    offsetTop是一个只读属性,它返回元素的顶部相对于其包含块(通常是最近的已定位祖先元素)的偏移量。当在一个页面中频繁或大量使用offsetTop来获取元素的位置时,可能会影响性能,主要原因如下:1.强制同步布局(LayoutThrashing)每当访问offsetTop或其他与布局相关的属性(如offset......
  • clientHeight、offsetHeight、scrollHeight、offsetTop、scrollTop
    一、定义document.body.clientHeight网页可见区域高度document.body.scrollHeight网页正文全文高document.body.offsetHeight网页可见区域高(包括边线的高)document.body.scrollTop网页被卷去的高window.screen.height屏幕分辨率高        ......
  • CSS: offsetTop offsetLeft offsetParent
     offsetParentiscontainingblock 1.position:static;offsetTop元素的上外边距到containingblock的上内边距(containingblock的padding+element.margin)<!DOCTYPEhtml><htmllang="en-US"><head><metacharset="UTF-8"&g......
  • CSS: offsetWidth offsetHeight clientWidth clientHeight scrollWidth scrollHeight
       <!DOCTYPEhtml><htmllang="en-US"><head><metacharset="UTF-8"><metahttp-equiv="X-UA-Compatible"content="IE=edge"><metaname="viewport"cont......
  • offsetHeight、clientHeight、scrollHeight的区别
    1.盒子模型介绍这三个属性之前先来了解一下CSS盒子模型。盒子模型顾名思义就是盒子的意思,盒子里面可以装很多东西。组成一个完整的盒子主要包括下面几个部分:widthheightpaddingbordermarginbox-sizing(用来区别正常盒模型和怪异盒子模型)盒子模型又分为了正常盒模型和......
  • 获取元素到body顶部的距离,offsetTop和offsetParent,getBoundingClientRect
    最近在写一个可见曝光的sdk,是当元素显示在可见区域的时候才算作曝光,并上报给服务端。思路是在元素请求回来并渲染完成之后,计算元素距离document顶部的距离offset,当页面滚动......
  • 野花--transform后用offsetLeft,offsetTop是不包含transform的值的
    如题:transform之后是不会影响到元素的offsetLeft和offsetTop值的,因此也可以理解为transform是不脱离标准流的,依然在原先的位置. 因此,transform也就无法实现图片跟......
  • 再次详解clientHeight、offsetHeight、scrollHeight
    关于clientHeight、offsetHeight、scrollHeightwindow.screen.availWidth返回当前屏幕宽度(空白空间)window.screen.availHeight返回当前屏幕高度(空白空间)window.s......
  • 元素的offsetWidth\offsetHeight、offsetLeft\offsetTop等等
    偏移量(offsetdimension)偏移量:包括元素在屏幕上占用的所有可见空间,元素的可见大小由其高度,宽度决定,包括所有内边距,滚动条和边框大小(注意,不包括外边距)。以下4个属性可以......
  • 原生js中offsetTop, offsetLeft与offsetParent的详细讲解
    简单说下:offsetTopoffsetTop:为只读属性。返回的是一个数字。它返回当前元素相对于其offsetParent元素的顶部内边距的距离。它等价于offsetTop==>元素到offsetPare......