小編給大家分享一下css相對定位和絕對定位有哪些區(qū)別,希望大家閱讀完這篇文章后大所收獲,下面讓我們一起去探討吧!
成都創(chuàng)新互聯(lián)公司主要從事做網(wǎng)站、成都網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計(jì)、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)彌渡,10多年網(wǎng)站建設(shè)經(jīng)驗(yàn),價(jià)格優(yōu)惠、服務(wù)專業(yè),歡迎來電咨詢建站服務(wù):13518219792
一、首先我們來看一看css相對定位
position: relative(相對定位):相對定位是相對于元素在文檔中的初始位置。
首先它出現(xiàn)在它所在的位置上(即不設(shè)置position時(shí)的位置,然后通過設(shè)置垂直或水平位置,讓這個(gè)元素“相對于”它的原始起點(diǎn)進(jìn)行移動(dòng)。
需要注意的是:在使用相對定位時(shí),無論是否進(jìn)行移動(dòng),元素仍然占據(jù)原來的空間。因此,移動(dòng)元素會(huì)導(dǎo)致它覆蓋其它框。
#box_relative { position: relative; left: 30px; top: 20px; }
二、再來看一下css絕對定位:
position: absolute(絕對定位):絕對定位是相對于元素最近的已定位的祖先元素(即是設(shè)置了絕對定位或者相對定位的祖先元素)。如果元素沒有已定位的祖先元素,那么它的位置則是相對于最初的包含塊(body)。
#box_relative { position: absolute; left: 30px; top: 20px; }
說明:絕對定位本身與文檔流無關(guān),因此不占空間,普通文檔流中的元素的布局就當(dāng)絕對定位的元素不存時(shí)一樣,所以 它們可以覆蓋頁面上其他的元素,且可以通過z-index屬性來控制這些層的對方順序。
三、最后我們總結(jié)一下css相對定位和絕對定位的區(qū)別
position:absolute(絕對定位)float會(huì)隱式地改變display的類型(display:none除外)。
即是當(dāng)元素設(shè)置position:absolute、float:left、float:right中任意一個(gè)時(shí),都會(huì)讓元素以display:inline-block的方式顯示(特點(diǎn)是:可以設(shè)置長寬,默認(rèn)寬度不占滿父元素)。這時(shí),即使故意設(shè)置display:inline;
display:block都是無效的。
但是float在IE6下的雙邊距bug就是用display:inline; 來解決的。
position:relative(相對定位)不會(huì)隱式改變display的類型。
在默認(rèn)情況下,相對定位是相對于元素本身所在的位置去定位;絕對定位是相對于左上角坐標(biāo)原點(diǎn)去定位。
看完了這篇文章,相信你對css相對定位和絕對定位有哪些區(qū)別有了一定的了解,想了解更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!