CSS相对定位有两种类型
一种是相对于当前对象的父级元素或相邻元素来定位
另一种如果当前对象使用了position:absolute,并且被多个父级元素嵌套,
而其中一个父级元素使用了position:relative 那么当前元素会相对于该父级元素而进行绝对定位,这种定位方式也是绝对定位中的相对定位
绝对定位是相对于父标签决定位置,一般用于相对定位标签里面,JS特效经常用到。相对定位是相对于上一个相对定位的。一般用于浮动定位标签里面,一般跟绝对定位配合使用。
浮动定位才是常用的。
看例子:
<body>
<div
id="bq1"
style="
position:absolute
left:10px
top:10px
"></div>
<div
id="bq2"
style="
position:relative"></div>
<div
id="bq3"
style="
position:relative">
<div
id="bq4"
style="
position:absolute
left:10px
top:10px"></div>
</div>
</body>
以下只说id名代表div
绝对定位:position:absolute
如果bq1(绝对定位)外面没有div等父标签,bq1会以body为父标签。左边距距body
10像素,上边距距body
10像素。
如果bq4(绝对定位)在bq3(相对定位)里面,左边距距bq3
10像素,上边距距bq3
10像素。
相对定位:position:relative
bq2(相对定位)总是相对于前面的同级标签为基准标签(bq1)。
bq3以bq2为基准标签。
相对定位是默认的定位方式。是相对于其他元素的一种定位方式,当附近有元素占据空间时,会根据当前元素的空间确定位置,会受到其他元素的影响。绝对定位,是相对于父层及以上具有定位方式的元素进行定位,不受其他元素的影响。