position屬性用來規定元素的定位型別,一共有如下幾種取值:值描述
absolute
絕對定位,相對於position屬性為static定位以外的祖先元素進行定位。如若沒有定位過的祖先,則相對於文件左上角的位置進行定位。此時元素的位置通過 「left」, 「top」, 「right」 以及 「bottom」 屬性來規定。
relative
相對定位,相對於其正常位置進行定位。即相對於原來的自己進行移動,原來的位置則空在那不會被別的元素占用
static
該值是預設值。表示沒有定位,元素出現在正常的流中。此時top, bottom, left, right 或者 z-index都不起作用。
fixed
也表示絕對定位,但是是相對於瀏覽器視窗進行定位。
**absolute屬性:**採用該值進行絕對定位的元素不會被預留空間,脫離文件流,可以設定外邊距,且不會與其他邊距進行合併的。該元素相對於非static祖先元素進行定位,當祖先元素設定了margin、padding等值時,相對於祖先元素的padding開始點即從padding的左上角開始定位。並且也會對該元素的兄弟元素位置造成影響,因為此時相當於把該元素往 z 軸方向移了一層,元素脫離了普通流,所以不再佔據原來那層的空間,並且還會覆蓋下層的元素。並且該元素將變為塊級元素且元素的寬度由原來的100%變為了 auto。
relative屬性:根據給定的top,left等值相對於自身的位置進行偏移。當left和right同時存在,僅只有left有效,當top和bottom同時存在僅只有top有效。若設定了margin,padding等值時則相對於margin左上角進行偏移。
fixed屬性:特殊的absolute屬性,只相當於body進行偏移。
例如:
div1
此時若將div1的樣式改為如下,則效果圖如下所示:
從可以看出,absolute定位的元素脫離了文件流。
此時若將div2的樣式改為如下,則效果圖如下所示:
relative定位的元素總是相對於自身進行偏移。
將css樣式設定為如下:
可見將父元素設定為absolute之後,子元素設定為absolute屬性就是相對于父元素的padding左上角進行定位了。並且塊級元素設定了absolute之後,寬度從100%變成了auto。
當設定css樣式如下:
#div1
#div2
效果圖為:
可見此時兩個div的外邊距是會合併的;
當設定div2的position屬性為absolute時,再設定div2的外邊距則不會與別的元素外邊距進行合併,如下所示:
CSS position屬性用法
絕對定位 position absolute 有如下兩種情況 1,沒有設定 top right bottom left 的情況,預設依據父級的 內容區域原始點 為原始點 2,有設定 top right bottom left 的情況,這裡又分了兩種情況如下 1 父級沒 position 屬性,瀏覽器...
css position 屬性詳解
相信很多同學在編寫 設計 的時候多多少少用過css裡的position這個屬性,但是很多時候網頁顯示出來的和自己想象的不太一樣,這篇部落格來教你怎麼使用position。position屬性共有5個不同的值,下面是w3school給出的 解釋 其中,如果不對dom中的元素設定position屬性,那...
CSS position 屬性分析
position是css重要的屬性,通過設定position,可以把元素放置到乙個靜態的 相對的 絕對的或者是固定的位置中。position有以下五個屬性 在某些資料 中,可能只會介紹前四個屬性 值描述 static 預設值,設定了static的屬性,沒有定位,它會出現在正常的流中。relative...