相對問題和絕對問題

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

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

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

css絕對定位和相對定位的區別 - Amy - Amy——做一根有思想的蘆葦

二:相對定位
position: relative;相對定位:相對定位是相對於元素在文檔中的初始位置——首先它出現在它所在的位置上(即不設置position時的位置,然後通過設置垂直或水平位置,讓這個元素“相對於”它的原始起點進行移動;

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

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

css絕對定位和相對定位的區別 - Amy - Amy——做一根有思想的蘆葦

注意: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的類型。

點擊跳轉到原文

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章