css定位中有相對定位和絕對定位,那麼css相對定位和絕對定位之間有什麼不同呢?接下來的這篇文章將為大家分別介紹關於css相對定位和絕對定位的內容以及css相對定位和絕對定位的區別。
一、首先我們來看css相對定位
position: relative(相對定位):相對定位是相對於元素在文件中的初始位置。
首先它出現在它所在的位置(即不設定position時的位置,然後透過設定垂直或水平位置,讓這個元素「相對於」它的原始起點進行移動。
需要注意的是:在使用相對定位時,無論是否進行移動,元素仍然佔據原來的空間。因此,移動元素會導致它覆蓋其它框。
#box_relative { position: relative; left: 30px; top: 20px; }
二、再來看一下css絕對定位:
position: absolute(絕對定位):絕對定位是相對於元素最近的已定位的祖先元素(即是設定了絕對定位或相對定位的祖先元素)。如果元素沒有已定位的祖先元素,那麼它的位置則是相對於最初的包含塊(body)。
#box_relative { position: absolute; left: 30px; top: 20px; }
說明:絕對定位本身與文檔流無關,因此不佔空間,普通文檔流中的元素的佈局就當絕對定位的元素不存時一樣,所以它們可以覆蓋頁面上其他的元素,並且可以通過z-index屬性來控制這些層的對方順序。
三、最後我們總結一下css相對定位和絕對定位的區別
position:absolute (絕對定位)float會隱式地改變display的類型(display:none除外)。
#即是當元素設定position:absolute、float:left、float:right中任一個時,都會讓元素以display:inline-block的方式顯示(特點是:可以設定長寬,預設寬度不佔滿父元素)。這時,即使故意設定display:inline;
display:block都是無效的。
但是float在IE6下的雙邊距bug就是用display:inline; 來解決的。
position:relative(相對定位)不會隱含地改變display的類型。
在預設情況下,相對定位是相對於元素本身的位置去定位;絕對定位是相對於左上角座標原點去定位。
這篇文章到這裡就結束了,想了解更多關於定位的知識請參考css手冊。
相關推薦:
以上是css相對定位和絕對定位有什麼不同? css相對定位與絕對定位比較分析的詳細內容。更多資訊請關注PHP中文網其他相關文章!