您好,登錄后才能下訂單哦!
這篇文章給大家分享的是有關CSS中相對定位和絕對定位的用法和區別是什么的內容。小編覺得挺實用的,因此分享給大家做個參考。一起跟隨小編過來看看吧。
一、相對定位
相對定位是指,該元素相對自己原來位置,偏移一定距離,元素可以通過頂部top,底部bottom,左側left和右側right屬性來設置定位。它相對的是它自己。
舉例:大div里面包含5個小P,給P不同的類名,分別設置絕對定位和相對定位,看看他們有什么變化
沒有設置定位的代碼如下:
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> <style type="text/css"> *{padding: 0;margin: 0;} .box{width: 400px;height: 500px;border: 1px solid black;margin: 50px auto;} .p1{width: 100px;height: 100px;background: red;} .p2{width: 100px;height: 100px;background: orange;} .p3{width: 100px;height: 100px;background: yellow;} .p4{width: 100px;height: 100px;background: green;} .p5{width: 100px;height: 100px;background: purple;} </style> </head> <body> <div class="box"> <p class="p1">11</p> <p class="p2">22</p> <p class="p3">33</p> <p class="p4">44</p> <p class="p5">55</p> </div> </body> </html>
效果如圖所示:
現在給第一個p標簽設置相對定位,讓他相對于自己原來的位置上偏移50px,左邊偏移50px,具體代碼如下:
.p1{width: 100px;height: 100px;background: red;position: relative;left: 50px;top: 50px;}
效果圖:
對比前后效果圖,有沒有發現第一個p元素,它相對自己原來的位置發生了偏移,而且偏移以后,它依然占據原來的位置,后面的元素不會填補,如果有重疊,會重疊在它文檔流元素之上,相對定位不會把其他元素擠掉。
二、絕對定位
絕對定位是指,該元素相對它的父元素偏移一定距離,元素可以通過頂部top,底部bottom,左側left和右側right屬性來設置定位。
注:相對的是父元素,而且這個父元素必須設置了position屬性。如果父元素沒有position屬性,則從最近的父元素開始找,直到找到body為止。
舉例:給第三個p元素設置絕對定位,讓其上偏移200px,左偏移200px,具體代碼如下:
.p3{width: 100px;height: 100px;background: yellow;position: absolute;left: 200px;top: 200px;}
效果圖:
對比圖1和圖3可以發現,設置了絕對定位的元素,會脫離文檔流,后面的元素會填補上來。因為第三個p標簽的父元素為div,沒有給div設置position屬性,所以它最終找到body,相對于body發生了偏移。
三、相對定位和絕對定位的區別
相對定位:相對自己原來的位置發生偏移,不會脫離文檔流,不會刪除它原來在文檔流中占據的位置,且后面是元素不會填補空位
絕對定位:相對它的父元素發生偏移(而且這個父元素必須設置了position屬性,如果父元素沒有position屬性,則從最近的父元素開始找,直到找到body為止),會脫離文檔流,后面的元素會填補它原來的位置。
感謝各位的閱讀!關于CSS中相對定位和絕對定位的用法和區別是什么就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。