栏目导航

若是元素没有定位

发表时间: 2019-10-03

要先大白“已定位元素” 这个名字,所谓“已定位元素”就是指给元素设置了 position 属性的样式,要大白 offsetParent 属性,而且 position 样式属性的值等于 absolute、relative、fixed 之一的元素。

这里次要说的是 offsetParent 属性,这个属性正在 MSDN 的文档中也没有注释清晰,这就让人更难理解这个属性。 这几天正在网上找了些材料看看,再加上本人的一些测试,对此属性有了那么一点的领会,正在这里总结一下。

若是元素没有定位, offsetParent 不单会找曾经定位的父级元素并且还会查找类型为 TD 和 TABLE 的父级元素,只需找到这三种父级元素的此中任何一种元素将前往此元素,不然前往 BODY 对象,例如:

先是 parentElement 属性,这个属性好理解,就是正在 DOM 条理布局定义的上下级关系,若是元素A包含元素B,那么元素B就能够通过 parentElement 属性来获取元素A。

若是元素本身曾经定位,那么 offsetParent 属性前往此元素已定位父级元素,如没有已定位的父级元素,则前往 BODY 对象,例如: