解讀absolute與relative
作者小毅的博客:http://andymao.com/
很多朋友問(wèn)過(guò)我absolute與relative怎么區(qū)分,怎么用?我們都知道absolute是絕對(duì)定位,relative是相對(duì)定位,但是這個(gè)絕對(duì)與相對(duì)是什么意思呢?絕對(duì)是什么地方的絕對(duì),相對(duì)又是相對(duì)于什么地方而言的呢?那他們又有什么樣的特性,可以做出什么樣的效果呢?關(guān)于兩者之間又有什么樣的技巧呢?下面我們就來(lái)一一解讀。
Absolute,CSS中的寫法是:position:absolute; 他的意思是絕對(duì)定位,他是參照瀏覽器的左上角,配合TOP、RIGHT、BOTTOM、LEFT(下面簡(jiǎn)稱TRBL)進(jìn)行定位,在沒(méi)有設(shè)定TRBL,默認(rèn)依據(jù)父級(jí)的做標(biāo)原始點(diǎn)為原始點(diǎn)。如果設(shè)定TRBL并且父級(jí)沒(méi)有設(shè)定position屬性,那么當(dāng)前的absolute則以瀏覽器左上角為原始點(diǎn)進(jìn)行定位,位置將由TRBL決定。
一般來(lái)講,網(wǎng)頁(yè)居中的話用Absolute就容易出錯(cuò),因?yàn)榫W(wǎng)頁(yè)一直是隨著分辨率的大小自動(dòng)適應(yīng)的,而Absolute則會(huì)以瀏覽器的左上角為原始點(diǎn),不會(huì)應(yīng)為分辨率的變化而變化位置。很多人出錯(cuò)就在于這點(diǎn)上出錯(cuò)。而網(wǎng)頁(yè)居左其特性與Relative很相似,但是還是有本質(zhì)的區(qū)別的。
Relative,CSS中的寫法是:position:relative; 他的意思是絕對(duì)相對(duì)定位,他是參照父級(jí)的原始點(diǎn)為原始點(diǎn),無(wú)父級(jí)則以BODY的原始點(diǎn)為原始點(diǎn),配合TRBL進(jìn)行定位,當(dāng)父級(jí)內(nèi)有padding等CSS屬性時(shí),當(dāng)前級(jí)的原始點(diǎn)則參照父級(jí)內(nèi)容區(qū)的原始點(diǎn)進(jìn)行定位。
有時(shí)我們還需要依靠z-index來(lái)設(shè)定容器的上下關(guān)系,數(shù)值越大越在最上面,數(shù)值范圍是自然數(shù)。當(dāng)然有一點(diǎn)要注意,父子關(guān)系是無(wú)法用z-index來(lái)設(shè)定上下關(guān)系的,一定是子級(jí)在上父級(jí)在下。
相關(guān)文章
左側(cè)固定寬度,右側(cè)自適應(yīng)寬度的CSS布局
一邊固定寬度,另一邊根據(jù)瀏覽器窗口大小自動(dòng)縮放寬度是這種很常用的布局。特別是在BS項(xiàng)目的界面設(shè)計(jì)中,幾乎都會(huì)用到。2008-09-09Div CSS absolute與relative的區(qū)別小結(jié)
Div + CSS 進(jìn)行網(wǎng)頁(yè)布局,適當(dāng)?shù)剡\(yùn)用 absolute 與 relative,能給布局帶來(lái)意想不到的效果和方便,達(dá)到事半功倍…本文介紹了關(guān)于 absolute 與 relative 的運(yùn)用。2007-12-12relative absolute無(wú)法沖破的等級(jí)問(wèn)題解決
如果我我們?cè)O(shè)定LI為position:relative;設(shè)置span為position:absolute;那么我們會(huì)發(fā)現(xiàn)無(wú)論SPAN的z-index值設(shè)置得再高都將永遠(yuǎn)在后面父級(jí)的下面。2008-06-06ul在Firefox和IE下的不同表現(xiàn)的解決方法
ul在Firefox和IE下的不同表現(xiàn)的解決方法...2007-08-08