首頁 >web前端 >css教學 >css相對定位和絕對定位有什麼不同? css相對定位與絕對定位比較分析

css相對定位和絕對定位有什麼不同? css相對定位與絕對定位比較分析

不言
不言原創
2018-09-13 15:11:309754瀏覽

css定位中有相對定位和絕對定位,那麼css相對定位和絕對定位之間有什麼不同呢?接下來的這篇文章將為大家分別介紹關於css相對定位和絕對定位的內容以及css相對定位和絕對定位的區別。

一、首先我們來看css相對定位

position: relative(相對定位):相對定位是相對於元素在文件中的初始位置。

首先它出現在它所在的位置(即不設定position時的位置,然後透過設定垂直或水平位置,讓這個元素「相對於」它的原始起點進行移動。

需要注意的是:在使用相對定位時,無論是否進行移動,元素仍然佔據原來的空間。因此,移動元素會導致它覆蓋其它框。

#box_relative {
  position: relative;
  left: 30px;
  top: 20px;
}

css相對定位和絕對定位有什麼不同? css相對定位與絕對定位比較分析

二、再來看一下css絕對定位:

position: absolute(絕對定位):絕對定位是相對於元素最近的已定位的祖先元素(即是設定了絕對定位或相對定位的祖先元素)。如果元素沒有已定位的祖先元素,那麼它的位置則是相對於最初的包含塊(body)。

#box_relative {
  position: absolute;
  left: 30px;
  top: 20px;
}

說明:絕對定位本身與文檔流無關,因此不佔空間,普通文檔流中的元素的佈局就當絕對定位的元素不存時一樣,所以它們可以覆蓋頁面上其他的元素,並且可以通過z-index屬性來控制這些層的對方順序。

css相對定位和絕對定位有什麼不同? css相對定位與絕對定位比較分析

三、最後我們總結一下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定位:相對定位、絕對定位與固定定位
#

以上是css相對定位和絕對定位有什麼不同? css相對定位與絕對定位比較分析的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn