如何正確的使用position屬性
在CSS布局中,Position發(fā)揮著非常重要的作用,很多容器的定位是用Position來完成。
Position屬性有四個(gè)可選值,它們分別是:static、absolute、fixed、relative。我們下面來共同學(xué)習(xí)它們的不同的用法,在學(xué)習(xí)中我們應(yīng)該去思考在什么布局情況下,應(yīng)該使用它們其中的哪一種。
position:static 無定位
該屬性值是所有元素定位的默認(rèn)情況,在一般情況下,我們不需要特別的去聲明它,但有時(shí)候遇到繼承的情況,我們不愿意見到元素所繼承的屬性影響本身,從而可以用position:static取消繼承,即還原元素定位的默認(rèn)值。
如:#nav { position:static; }
position:absolute 絕對(duì)定位
使用position:absolute,能夠很準(zhǔn)確的將元素移動(dòng)到你想要的位置,讓我將nav移動(dòng)到頁面的右上角。我們可以這樣寫:nav { position:absolute; top:0; right:0; width:200px; }
使用絕對(duì)定位的nav層前面的或者后面的層會(huì)認(rèn)為這個(gè)層并不存在,也就是在z方向上,它是相對(duì)獨(dú)立出來的,絲毫不影響到其它z方向的層。所以position:absolute用于將一個(gè)元素放到固定的位置很好用,但是如果需要層相對(duì)于附近的層來確定位置就無能為力了。只能用下面討論到的相對(duì)定位了。
這里有個(gè)Win IE的bug需要提到,就是如果為絕對(duì)定位的元素定義一個(gè)相對(duì)的寬度,那么在IE下它的寬度取決于父元素的寬度而不是整個(gè)頁面的寬度。
position:relative 相對(duì)定位
所謂相對(duì)定位到底是什么意思呢,是基于哪里的相對(duì)呢?我們需要明確一個(gè)概念,相對(duì)定位是相對(duì)于元素默認(rèn)的位置的定位。既然是相對(duì)的,我們就需要設(shè)置不同的值來聲明定位在哪里,top、bottom、left、right四個(gè)數(shù)值配合,來明確元素的位置。如果要讓nav層向下移動(dòng)20px,左移40px:
我們可以這樣寫:#nav { position:relative; top:50px; left:50px; }
但您需要注意下面的情況,相對(duì)定位緊隨他的層woaicss是不會(huì)出現(xiàn)在nav的下方,而是和nav發(fā)生一定的重疊!
position:fixed 相對(duì)于窗口的固定定位
這個(gè)定位屬性值是什么意思呢?元素的定位方式同absolute類似,但它的包含塊是視區(qū)本身。在屏幕媒體如WEB瀏覽器中,元素在文檔滾動(dòng)時(shí)不會(huì)在瀏覽器視察中移動(dòng)。例如,它允許框架樣式布局。在頁式媒體如打印輸出中,一個(gè)固定元素會(huì)出現(xiàn)于第一頁的相同位置。這一點(diǎn)可用于生成流動(dòng)標(biāo)題或腳注。我們也見過相似的效果,但大都數(shù)效果不是通過CSS來實(shí)現(xiàn)了,而是應(yīng)用了JS腳本。
請(qǐng)?zhí)貏e注意,IE6不支持CSS中的position:fixed屬性。真的非常遺憾,要不然我們就可以試試這種酷酷的效果了。
[ 上一篇 ] 2010端午節(jié)前后pr更新,站長(zhǎng)朋友要做哪些
[ 下一篇 ] DIV+CSS初學(xué)者需要引起重視的10個(gè)問題
版權(quán)所有:?jiǎn)⑦~科技-合肥網(wǎng)站建設(shè) 皖I(lǐng)CP備19009304號(hào)-1 皖公網(wǎng)安備 34010402702162號(hào)
網(wǎng)站建設(shè),網(wǎng)站設(shè)計(jì)公司啟邁科技,為眾多企業(yè)提供網(wǎng)站建設(shè),網(wǎng)站制作,響應(yīng)式網(wǎng)站設(shè)計(jì),手機(jī)網(wǎng)站建設(shè),微網(wǎng)站,模板建站,企業(yè)郵箱等一站式互聯(lián)網(wǎng)解決方案和建站服務(wù)10年。