溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

CSS中position和z-index屬性如何使用

發(fā)布時(shí)間:2021-07-08 17:43:50 來(lái)源:億速云 閱讀:318 作者:Leah 欄目:web開發(fā)

本篇文章給大家分享的是有關(guān)CSS中position和z-index屬性如何使用,小編覺得挺實(shí)用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話不多說(shuō),跟著小編一起來(lái)看看吧。

深入理解CSS中的position定位和z-index屬性

由于平時(shí)不太用到,所以過(guò)去寫CSS的時(shí)候?qū)τ趐osition屬性的absolute、relative值理解比較模糊,對(duì)于z-index的層疊更是摸不著頭腦,除了理解的因素外,各個(gè)瀏覽器的不同解析結(jié)果也是一個(gè)大問(wèn)題。今天仔細(xì)閱讀了一下CSS文檔,總算是對(duì)盒模型的浮動(dòng)、定位有了比較深刻的理解。

我們?cè)趯?shí)踐中很有可能遇到這樣的問(wèn)題:

1、做一個(gè)橫向?qū)Ш?,然后鼠?biāo)經(jīng)過(guò)之后出現(xiàn)下拉菜單,那么這個(gè)下拉菜單的位置控制就是一個(gè)關(guān)鍵;

2、我們想在一個(gè)正常的頁(yè)面布局中放入幾個(gè)浮在頁(yè)面上的氣泡提示,這時(shí)既不想讓氣泡提示破壞正常的文檔布局,又不想氣泡提示的定位在不同的瀏覽器中到處亂飄。

3、當(dāng)我們?cè)谝痪湔5奈谋局胁迦胍粋€(gè)小圖標(biāo)的話,一般會(huì)使用CSS中position和z-index屬性如何使用

◆relative:相對(duì)定位。這個(gè)屬性值保持對(duì)象所在文檔流中的位置,也就是說(shuō)它具有和static相同的呈現(xiàn)方式,它同樣占有在文檔流中的固定位置,后面的對(duì)象不會(huì)侵占或覆蓋;與static屬性值不同的是,設(shè)置了relative的對(duì)象,可以通過(guò)top,left,right,bottom屬性設(shè)定自己的新顯示位置,這4個(gè)屬性的取值是相對(duì)于文檔流的前一個(gè)對(duì)象的,你可以自由設(shè)置這4個(gè)屬性偏移到新的位置而不對(duì)文檔流中的其他對(duì)象產(chǎn)生任何影響,原來(lái)的頁(yè)面呈現(xiàn)仍然會(huì)我行我素:

CSS中position和z-index屬性如何使用

◆absolute:絕對(duì)定位。和relative不同的是,這個(gè)屬性值會(huì)將當(dāng)前對(duì)象拖出文檔流,后面的對(duì)象會(huì)占有原來(lái)的位置,也就是說(shuō),當(dāng)前對(duì)象的呈現(xiàn)是獨(dú)立顯示的,但是它的位置在指定top,left,right,bottom任一屬性之前仍是有繼承性的,這時(shí)的4個(gè)屬性的取值是相對(duì)于瀏覽器的,和文檔流無(wú)關(guān)了。如果把示例中的B區(qū)域設(shè)定為absolute而不指定4個(gè)位置屬性,通過(guò)設(shè)定margin來(lái)改變它的相對(duì)位置,用這個(gè)方法可以解決前面提到的問(wèn)題2。

CSS中position和z-index屬性如何使用

提示a:蘇昱的CSS2.0手冊(cè)中提到relative和absolute定位的滾動(dòng)條區(qū)別不是絕對(duì)的,至少在firefox、opera和safari中滾動(dòng)條該出現(xiàn)還是會(huì)出現(xiàn)。

提示b:屬性值為absolute對(duì)象的z-index屬性可以設(shè)置層疊顯示的次序,它是直接有效的;

而屬性值為relative對(duì)象的z-index屬性在設(shè)置時(shí)要小心,把當(dāng)前對(duì)象的z-index設(shè)置為-1是不行的,在firefox中它會(huì)無(wú)法顯示,必須設(shè)置為0以上,我們?nèi)绻胱寗e的對(duì)象擋住它,只有將其他對(duì)象也設(shè)置position為relative,并將z-index屬性取一個(gè)比它大的值即可。

上面的表述不知道也許不是很清晰,具體的理解還是要自己親自動(dòng)手操作一下。

這樣看來(lái),前面的問(wèn)題就有解了,問(wèn)題3我們可以根據(jù)設(shè)計(jì)的要求將其設(shè)置為相對(duì)或絕對(duì)定位;

問(wèn)題1的解決方法也有很多,個(gè)人推薦使用有語(yǔ)義的dl,dt,dd來(lái)實(shí)現(xiàn),而且這個(gè)方法在不同瀏覽器中的表現(xiàn)基本相同(已在ie,firefox,opera,safari中測(cè)試),僅在top的屬性上有幾像素的差異,由于時(shí)間關(guān)系我只能給出自己測(cè)試時(shí)的代碼以供參考:

CSS中position和z-index屬性如何使用

◆示例代碼: 

body{  color:#fff;  font-size:12px;  }  ulli{  float:left;  height:30px;  background-color:#99CC99;  margin:010px;  padding:0;  border:1pxsolid#c30;  width:100px;  }  ullidiv{  border:1pxsolid#f00;  background-color:#996666;  width:100px;  height:100px;  position:absolute;  margin-top:15px;  margin-left:-1px;  *margin-left:-79px;  }  ullidl,  ullidldt,  ullidldd{  margin:0;  padding:0;  }  ullidldd{  border:1pxsolid#f00;  background-color:#996666;  width:100px;  height:100px;  position:absolute;  margin-top:11px;  *margin-top:10px;  margin-left:-1px;  }  <ul> <li> 標(biāo)題-#text  <div> 下拉菜單-div  div> li> <listylelistyle="position:relative;">列表bli> <li>列表cli> <li> <dl> <dt>標(biāo)題-dtdt> <dd>下拉菜單-dddd> dl> li> ul>

以上就是CSS中position和z-index屬性如何使用,小編相信有部分知識(shí)點(diǎn)可能是我們?nèi)粘9ぷ鲿?huì)見到或用到的。希望你能通過(guò)這篇文章學(xué)到更多知識(shí)。更多詳情敬請(qǐng)關(guān)注億速云行業(yè)資訊頻道。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI