CSS 絕對定位

設置为絕對定位的元素框從文檔流完全刪除,並相對於其包含塊定位,包含塊可能是文檔中的另一個元素或者是初始包含塊。元素原先在正常文檔流中所占的空間會關閉,就好像該元素原來不存在一样。元素定位後生成一個塊級框,而不論原來它在正常流中生成何種類型的框。

CSS 絕對定位

絕對定位使元素的位置與文檔流無關,因此不占據空間。這一點與相對定位不同,相對定位實際上被看作普通流定位模型的一部分,因为元素的位置相對於它在普通流中的位置。

普通流中其它元素的布局就像絕對定位的元素不存在一样:

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

如下圖所示:

CSS 絕對定位實例

絕對定位的元素的位置相對於最近的已定位祖先元素,如果元素沒有已定位的祖先元素,那麼它的位置相對於最初的包含塊

對於定位的主要問題是要記住每種定位的意義。所以,現在讓我們复習一下學過的知識吧:相對定位是“相對於”元素在文檔中的初始位置,而絕對定位是“相對於”最近的已定位祖先元素,如果不存在已定位的祖先元素,那麼“相對於”最初的包含塊。

注釋:根據用戶代理的不同,最初的包含塊可能是畫布或 HTML 元素。

提示:因为絕對定位的框與文檔流無關,所以它們可以覆蓋頁面上的其它元素。可以通過設置 z-index 屬性來控制這些框的堆放次序。

CSS 絕對定位實例

定位:絕對定位
本例演示如何使用絕對值來對元素進行定位。