CSS position屬性例項與總結

2021-08-28 01:13:10 字數 1953 閱讀 5567

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...