摘要:元素的位置通過(guò)以及屬性進(jìn)行規(guī)定。生成相對(duì)定位的元素,相對(duì)于其正常位置進(jìn)行定位。規(guī)定應(yīng)該從父元素繼承屬性的值。表示相對(duì)原先位置右邊進(jìn)行偏移,表示相對(duì)原先位置下邊進(jìn)行偏移。當(dāng)和同時(shí)存在,僅有效,當(dāng)和同時(shí)存在僅有效。
定義和用法
position屬性規(guī)定元素的定位類型。這個(gè)屬性定義建立元素布局所用的定位機(jī)制。任何元素都可以定位,不過(guò)絕對(duì)或固定元素會(huì)生成一個(gè)塊級(jí)框,而不論該元素本身是什么類型。相對(duì)定位元素會(huì)相對(duì)于它在正常流中的默認(rèn)位置偏移?! ?br>position屬性有五個(gè)可選值,分別是absolute、fixed、relative,static,inherit.
absolute: 生成絕對(duì)定位的元素,相對(duì)于static定位以外的第一個(gè)父元素進(jìn)行定位。元素的位置通過(guò)left,top,right以及bottom屬性進(jìn)行規(guī)定。
fixed: 生成絕對(duì)定位的元素,相對(duì)于瀏覽器窗口進(jìn)行定位。元素的位置通過(guò)left、top、right以及bottom屬性進(jìn)行規(guī)定。
relative: 生成相對(duì)定位的元素,相對(duì)于其正常位置進(jìn)行定位。
static: 默認(rèn)值。沒(méi)有定位,元素出現(xiàn)在正常的流中(忽略 top, bottom, left, right 或者 z-index 聲明)。
inherit: 規(guī)定應(yīng)該從父元素繼承 position 屬性的值。
relativerelative是相對(duì)于其正常文本流中的位置進(jìn)行偏移。如下代碼:
item1item2
上述代碼顯示結(jié)果如下:
若把上述代碼中css樣式文件改為:
#item1 { width:100px; height:100px; background-color:green; } #item2 { width:100px; height:100px; background-color:red; position:relative; left:20px; top:20px; }
顯示結(jié)果如下:
總結(jié):relative是相對(duì)正常文檔流的位置進(jìn)行偏移,原先占據(jù)的位置依然存在,也就是說(shuō)它不會(huì)影響后面元素的位置。left表示相對(duì)原先位置右邊進(jìn)行偏移,top表示相對(duì)原先位置下邊進(jìn)行偏移。當(dāng)left和right同時(shí)存在,僅left有效,當(dāng)top和bottom同時(shí)存在僅top有效。relative的偏移是基于對(duì)象的margin左上側(cè)的。
absolute為了便于觀察,現(xiàn)將上述原始網(wǎng)頁(yè)代碼最外層div加上margin值。
#content { margin-left:100px; margin-top: 100px; }
正常顯示如下:
當(dāng)修改css樣式文件如下時(shí):
#item1 { width:100px; height:100px; background-color:green; } #item2 { width:100px; height:100px; background-color:red; position: absolute; left:20px; top:20px; } #content { margin-left:100px; margin-top: 100px; }
顯示結(jié)果如下:
由此可見(jiàn)當(dāng)父級(jí)元素的position屬性值為默認(rèn)值時(shí)(static),absolute是相對(duì)于瀏覽器窗口進(jìn)行定位的。
如果設(shè)置content的position屬性值為非默認(rèn)值,那么absolute就是相對(duì)于該父級(jí)元素進(jìn)行定位:
#content { margin-left:100px; margin-top: 100px; position: relative }
顯示效果如下圖所示:
當(dāng)修改css樣式如下時(shí):
#item1 { width:100px; height:100px; background-color:green; } #item2 { width:100px; height:100px; background-color:red; } #content { margin-left:100px; margin-top: 100px; position:absolute; padding:20px; border:10px solid black; }
顯示結(jié)果為:
注意到變化了嗎,當(dāng)把外層div設(shè)置為absolute時(shí),外層div寬度由原來(lái)的100%變?yōu)閍uto.
當(dāng)把一個(gè)元素position屬性設(shè)置為absolute或fixed的時(shí)候,會(huì)發(fā)生三件事:
把該元素往 Z 軸方向移了一層,元素脫離了普通流,所以不再占據(jù)原來(lái)那層的空間,還會(huì)覆蓋下層的元素。
該元素將變?yōu)閴K級(jí)元素,相當(dāng)于給該元素設(shè)置了 display: block;(給一個(gè)內(nèi)聯(lián)元素,如 ,設(shè)置 absolute 之后發(fā)現(xiàn)它可以設(shè)置寬高了)。
如果該元素是塊級(jí)元素,元素的寬度由原來(lái)的 width: 100%(占據(jù)一行),變?yōu)榱?auto?! ?/p>
當(dāng)修改css樣式文件如下時(shí):
#item1 { width:100px; height:100px; background-color:green; } #item2 { width:100px; height:100px; background-color:red; position:absolute; left:20px; top:20px; } #content { margin-left:100px; margin-top: 100px; position:absolute; padding:20px; border:10px solid black; }
顯示效果如下:
由此可見(jiàn),如果parent設(shè)定了margin,border,padding等屬性,那么這個(gè)定位點(diǎn)將忽略padding,將會(huì)從padding開(kāi)始的地方(即只從padding的左上角開(kāi)始)進(jìn)行定位,這與我們會(huì)想當(dāng)然的以為會(huì)以margin的左上端開(kāi)始定位的想法是不同的。
fixedfixed是特殊的absolute,即fixed總是以body為定位對(duì)象的,按照瀏覽器的窗口進(jìn)行定位。
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/112428.html
前端技術(shù)之_CSS詳解第六天--完結(jié) 一、復(fù)習(xí)第五天的知識(shí) a標(biāo)簽的偽類4個(gè): a:link 沒(méi)有被點(diǎn)擊過(guò)的鏈接 a:visited 訪問(wèn)過(guò)的鏈接 a:hover 懸停 a:active 按下鼠標(biāo)不松手 順序就是“love hate”準(zhǔn)則。 可以簡(jiǎn)寫(xiě): 1 a{ 3 } 4 a:hover{ 6 } background系列屬性,CSS2.1層面 ...
摘要:前端技術(shù)之詳解第五天一行高和字號(hào)行高中,所有的行,都有行高。微軟雅黑我們一定要將標(biāo)簽寫(xiě)在前面,這些偽類寫(xiě)在后面。也就是說(shuō),標(biāo)簽涵蓋了的狀態(tài)。表示三原色紅綠藍(lán)。進(jìn)制表示法,也是兩位兩位看,看,但是沒(méi)有逗號(hào)隔開(kāi)。前端技術(shù)之_CSS詳解第五天 一、行高和字號(hào) 1.1 行高 CSS中,所有的行,都有行高。盒模型的padding,絕對(duì)不是直接作用在文字上的,而是作用在“行”上的...
摘要:發(fā)生外邊距折疊的條件是什么垂直方向上相鄰的兩個(gè)元素這種情況很好理解,就是上面的例子中給出的情況。外邊距折疊后的大小兩個(gè)相同大小的正數(shù)取某個(gè)外邊距的值。即與發(fā)生折疊,折疊后的值為。根據(jù)塊級(jí)格式化上下文來(lái)阻止外邊距折疊。 什么是外邊距折疊 準(zhǔn)確來(lái)說(shuō),外邊距折疊應(yīng)該叫垂直外邊距折疊,因?yàn)橹粫?huì)發(fā)生在垂直方向上,而水平方向上不會(huì)發(fā)生。 對(duì)于以下簡(jiǎn)單的html代碼和css代碼, 請(qǐng)問(wèn)top塊和bo...
摘要:關(guān)于的詳細(xì)講解張?chǎng)涡褚粋€(gè)基本的立方體就需要結(jié)合以上三點(diǎn)屬性來(lái)實(shí)現(xiàn)。寫(xiě)完這篇文章后確實(shí)感覺(jué)自己對(duì)方面的知識(shí)又熟悉了不少但是前端的主力還是月份又得繼續(xù)深入學(xué)習(xí)方面的知識(shí)嘞本文參考內(nèi)容關(guān)于的詳細(xì)講解張?chǎng)涡裨斀鈴氐桌斫夂偷膮^(qū)別的原始出處 很久沒(méi)有回頭來(lái)復(fù)習(xí)CSS方面的知識(shí)了, 正好又到了月底寫(xiě)文章的deadline......所以這次選擇了詳細(xì)鞏固一下CSS3動(dòng)畫(huà)有關(guān)的知識(shí)點(diǎn),因?yàn)橹爸皇怯眠^(guò)...
摘要:關(guān)于的詳細(xì)講解張?chǎng)涡褚粋€(gè)基本的立方體就需要結(jié)合以上三點(diǎn)屬性來(lái)實(shí)現(xiàn)。寫(xiě)完這篇文章后確實(shí)感覺(jué)自己對(duì)方面的知識(shí)又熟悉了不少但是前端的主力還是月份又得繼續(xù)深入學(xué)習(xí)方面的知識(shí)嘞本文參考內(nèi)容關(guān)于的詳細(xì)講解張?chǎng)涡裨斀鈴氐桌斫夂偷膮^(qū)別的原始出處 很久沒(méi)有回頭來(lái)復(fù)習(xí)CSS方面的知識(shí)了, 正好又到了月底寫(xiě)文章的deadline......所以這次選擇了詳細(xì)鞏固一下CSS3動(dòng)畫(huà)有關(guān)的知識(shí)點(diǎn),因?yàn)橹爸皇怯眠^(guò)...
閱讀 3175·2021-11-22 14:45
閱讀 3331·2019-08-29 13:11
閱讀 2332·2019-08-29 12:31
閱讀 948·2019-08-29 11:21
閱讀 3012·2019-08-29 11:09
閱讀 3641·2019-08-28 18:11
閱讀 1450·2019-08-26 13:58
閱讀 1320·2019-08-26 13:27