CSS——靜態定位,相對定位,絕對定位,固定定位


CSS中的定位使用來布局的熟練應用對頁面美化有很好的幫助,下面就進行詳細介紹:定位分為靜態定位,相對定位,絕對定位,固定定位這四種,定位有不同的參數,例如:left、right、top、bottom、z-index等。

1、靜態定位(static)

一般的標簽元素不加任何定位屬性都屬於靜態定位,在頁面的最底層屬於標准流。

2、絕對定位(absolute)

絕對定位的元素從文檔流中拖出,使用left、right、top、bottom等屬性相對於其最接近的一個最有定位設置的父級元素進行絕對定位,如果元素的父級沒有設置定位屬性,則依據 body 元素左上角作為參考進行定位。絕對定位元素可層疊,層疊順序可通過 z-index 屬性控制,z-index值為無單位的整數,大的在上面,可以有負值。

絕對定位的定位方法:如果它的父元素設置了除static之外的定位,比如position:relative或position:absolute及position:fixed,那么它就會相對於它的父元素來定位,位置通過left , top ,right ,bottom屬性來規定,如果它的父元素沒有設置定位,那么就得看它父元素的父元素是否有設置定位,如果還是沒有就繼續向更高層的祖先元素類推,總之它的定位就是相對於設置了除static定位之外的定位的第一個祖先元素,如果所有的祖先元素都沒有以上三種定位中的其中一種定位,那么它就會相對於文檔body來定位(並非相對於瀏覽器窗口,相對於窗口定位的是fixed)。

將class="two"的div定位到距離的頂部和左側分別50px的位置。會改變其他元素的布局,不會在此元素本來位置留下空白。

3、相對定位(relative)

相對定位元素不可層疊,依據left、right、top、bottom等屬性在正常文檔流中偏移自身位置。同樣可以用z-index分層設計。

將class="two"的div定位到距離它本來位置的頂部和左側分別50px的位置。不會改變其他元素的布局,會在此元素本來位置留下空白。

4、固定定位(fixed)

固定定位與絕對定位類似,但它是相對於瀏覽器窗口定位,並且不會隨着滾動條進行滾動。

固定定位的最常見的一種用途是在頁面中創建一個固定頭部、固定腳部或者固定側邊欄,不需使用margin、border、padding。

5、絕對定位vs相對定位

絕對定位好像把不同元素安排到了一棟樓的不同樓層(除首層,文本流放在首層),它們之間互不影響;相對定位元素在首層,與文本流一起存放,它們之間互相影響。

被設置了絕對定位的元素,在文檔流中是不占據空間的,如果某元素設置了絕對定位,那么它在文檔流中的位置會被刪除,它浮了起來,其實設置了相對定位也會讓元素浮起來,但它們的不同點在於,相對定位不會刪除它本身在文檔流中占據的空間,其他元素不可以占據該空間,而絕對定位則會刪除掉該元素在文檔流中的位置,使其完全從文檔流中抽了出來,其他元素可以占據其空間,可以通過z-index來設置它們的堆疊順序 。

原文鏈接:https://blog.csdn.net/weixin_38055381/article/details/81558288


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM