当前位置:Gxlcms > html代码 > CSS父子DIV绝对定位和相对定位的位置关系是怎样的?_html/css_WEB-ITnose

CSS父子DIV绝对定位和相对定位的位置关系是怎样的?_html/css_WEB-ITnose

时间:2021-07-01 10:21:17 帮助过:141人阅读

有两种情况:

1)如果父DIV采用相对定位,其子DIV只能采用绝对定位吗?(根据我的理解:子DIV永远浮于父DIV之上)

2)如果父DIV采用绝对定位,那么可以定义其子DIV吗?


回复讨论(解决方案)

绝对定位如果父级不使用position:relative,而直接使用position:absolute绝对定位,这个时候将会以body标签为父级,使用position:absolute定义对象无论位于DIV多少层结构,都将会被拖出以为父级(参考级)进行绝对定位。

父级定义position:relative定位,子级定义position:absolute绝对定位属性,并且子级使用left或right和top或bottom进行绝对定位



绝对定位是以body标签为目标

相对定位是以父级标签为目标

绝对定位是以body标签为目标

相对定位是以父级标签为目标



别误导人,相对定位是相对于自身目前所在的位置,绝对定位是相对于父元素是否用了定位,父元素用了就依据父元素来定位,如果父元素没有就一直往父、父、父、、、元素,看看祖先元素哪个用了定位(只要是用了定位样式就可以),就依据用了定位的祖先元素定位。

这么说吧,绝对定位:如果父元素用了定位样式,就根据父元素来定位,如果父元素没用定位样式,而爷元素用了定位样式,就以爷元素定位,如果爷爷还没有用定位样式?就看看爷爷的父(曾字辈)用了定位样式没有,如果用了就以曾字辈定位,如果一直往上找没有祖先元素用定位样式。那就以body为定位了。

如果绝对定位的元素没有父元素,那么将来trbl是相对于body来定位的;
如果绝对定位的元素有父元素,但是父元素没有定位,那么这个时候trbl还是相对于body来定位的。
如果绝对定位的元素有父元素,而且父元素有定位(非static),那么这个绝对定位的元素偏移是以自己的父元素为基础。
绝对定位的元素会脱离标准流,在页面不会占据位置。

人气教程排行