博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
元素的offsetParent offsetLeft offsetTop属性
阅读量:5293 次
发布时间:2019-06-14

本文共 1067 字,大约阅读时间需要 3 分钟。

offsetParent:指定最近的祖先定位祖先元素,如果没有的话,指向根元素或者整个文档。

offsetLeft, offsetTop:计算子元素相对offsetParent的偏移距离

下面是测试代码:

            offsetX                

代码运行后的效果:

最外层红色边框为html元素

第二层橙色边框为body元素

第三层蓝色边框为id为wrapper的div框

金色背景,红色边框是id为div1的div框

银色背景,绿色边框时id为div1_1的div框

黑色边框为id为div2的显示div框

总结来说:

1 当子框(也就是这里的银色div框,id为div1_1)的父元素有定位时(可能是相对定位,或者绝对定位,或者固定定位),那么offsetParent就是这个定位的父元素,而不管这个子框的定位情况(可能定位,也可能没定位)。

2 而当着个子框有定位,而它的父元素没有定位时,分成子框相对定位和绝对定位(固定定位也一样)两种情况:

(1) 子框相对定位时,父元素没有定位,那么offsetParent在火狐中是html元素左上角(虽然代码结果显示的是body元素,但是通过计算发现不是),而在IE8中offsetParent是相对于整个文档左上角(并不是html元素,而是html元素外面空白区域的左上角);

(2) 若子框是绝对定位,父元素没有定位,那么在火狐和IE8中都是相对于整个文档的左上角。

(3) 若子框和父元素都没定位,那么offsetParent在火狐中是html元素,而IE8中offsetParent是整个文档

同时,在火狐和IE8中offsetLeft和offsetTop的计算方式不一样:

在火狐中,offsetLeft,offsetTop是从父元素左上角(是左边框和上边框同padding交界的位置)到子框左上角(左边框和上边框和外边距margin交界的位置)的距离;

在IE8中,offsetLeft,offsetTop是从父元素的左上角(是左边框和上边框同外边距margin交界的位置)到子边框左上角(同火狐)的距离

 

 

转载于:https://www.cnblogs.com/chaoguo1234/archive/2013/03/11/2954742.html

你可能感兴趣的文章
wzplayer for android界面
查看>>
测试环境
查看>>
json中的dumps和loads
查看>>
nginx 随笔
查看>>
一次完整的 HTTP 请求过程
查看>>
关于RouteTask的小小bug
查看>>
Group Policy Settings with Silverlight
查看>>
sharepoint站点支持AJAX功能做些简要说明
查看>>
面试题32:从1到n整数中1出现的次数
查看>>
Oracle中sign/decode/nvl/round/trunc/(+)/instr/substr/replace解释
查看>>
加载声音的过程!
查看>>
重载函数
查看>>
Unity3d 引擎原理详细介绍
查看>>
Vijos p1696 数与连分数
查看>>
一个value同时满足两种interface
查看>>
连续子数组的最大和
查看>>
Luogu P1023 税收与补贴问题
查看>>
python note 32 锁
查看>>
web技术工具帖
查看>>
SpringBoot项目中常见的注解
查看>>