1. 程式人生 > >相對(relative)定位和絕對(absolute)定位

相對(relative)定位和絕對(absolute)定位

首先,position的這兩個屬性一般是不使用的,因為有了浮動,所以我們才需要position屬性來實現我們想要的佈局。

1.相對定位(relative):相對於原來位置(原來位置指在文件流中預設的位置,若加上了浮動時,那麼這個原來位置就是你設定浮動時的位置)的偏移,原來位置依然佔據空間。

(1)box1和box2都沒有設定position屬性(沒有設定float屬性時

效果圖:我們可以看出box盒子設定的left(包括top,right,bottom等)屬性根本沒起到任何作用

(2)給box2加上position:relative,效果如圖:這時候box2相對於原來的位置分別向右和下偏移了100px

(3)有float屬性時:

(4)效果圖:

(5)給box2加上position:relative後:相對於原來的位置偏移

(6)給兩個標籤都加上position:relative時:兩個盒子都只相對於自己原來的位置偏移

2.絕對定位(absolute):指子元素在父元素裡面相對於父級元素的定位,設定絕對定位的元素,它會浮起來,不會佔據文件流空間(相對定位會佔據空間)。

(1)給box1新增position:relative屬性,給box02新增position:absolute屬性

效果如圖:box02的父級元素box2沒有position屬性,它就繼續向上一級尋找,找到box1然後以box1為參照點移動。可以看到box02定位到了右下角,box03佔據了box02 原有的位置(即absolute屬性會刪除原來位置佔據的文件流空間

),

(2)給box2設定position:absolute屬性時,我們看到box02的位置是以box2位參照物來移動的。

(3)同樣,我們給box03也加上position:absolute屬性,此時box03的參照物也是box2

以上就是我對相對定位和絕對定位的瞭解,若有不足之處,還請指正。