CSS基礎(chǔ):z-index詳解

概念
z-index 屬性設(shè)置元素的堆疊順序。擁有更高堆疊順序的元素總是會處于堆疊順序較低的元素的前面奋构。

層級關(guān)系的比較

  1. 對于同級元素,默認(或position:static)情況下文檔流后面的元素會覆蓋前面的拱层。
  2. 對于同級元素弥臼,position不為static且z-index存在的情況下z-index大的元素會覆蓋z-index小的元素,即z-index越大優(yōu)先級越高根灯。
  3. IE6/7下position不為static径缅,且z-index不存在時z-index為0,除此之外的瀏覽器z-index為auto烙肺。
  4. z-index為auto的元素不參與層級關(guān)系的比較芥驳,由向上遍歷至此且z-index不為auto的元素來參與比較。

順序規(guī)則
如果不對節(jié)點設(shè)定 position 屬性茬高,位于文檔流后面的節(jié)點會遮蓋前面的節(jié)點。

<div id="a">A</div>
<div id="b">B</div>

定位規(guī)則
如果將 position 設(shè)為 static假抄,位于文檔流后面的節(jié)點依然會遮蓋前面的節(jié)點浮動,怎栽,所以 position:static
不會影響節(jié)點的遮蓋關(guān)系丽猬。

<div id="a" style="position:static;">A</div>
<div id="b">B</div>

如果將 position 設(shè)為 relative (相對定位),absolute (絕對定位) 或者 fixed (固定定位)熏瞄,這樣的節(jié)點會覆蓋沒有設(shè)置 position 屬性或者屬性值為 static 的節(jié)點脚祟,說明前者比后者的默認層級高。

<div id="a" style="position:relative;">A</div>
<div id="b">B</div>

在沒有 z-index 屬性干擾的情況下, 根據(jù)這順序規(guī)則和定位規(guī)則, 我們可以做出更加復雜的結(jié)構(gòu). 這里我們對 A 和 B 都不設(shè)定 position, 但對 A 的子節(jié)點 A-1 設(shè)定 position:relative. 根據(jù)順序規(guī)則, B 會覆蓋 A, 又根據(jù)定位規(guī)則 A' 會覆蓋 B.

<div id="a">
    <div id="a-1" style="position:relative;">A-1</div>
</div>
<div id="b">B</div>
(web前端學習交流群:328058344 禁止閑聊强饮,非喜勿進S勺馈) 

上面互相覆蓋在什么時候用到這樣的實現(xiàn)? 看起來偏門, 其實很常用, 比如說, 電子商務(wù)網(wǎng)站側(cè)欄的類目展示列表就可以用這個技巧來實現(xiàn).
下圖是某網(wǎng)站的類目展示區(qū)域, 二級類目的懸浮層覆蓋一級類目列表外框, 而一級類目的節(jié)點覆蓋二級類目的懸浮層. 如果使用 CSS 實現(xiàn)展示效果, 一級類目的外框相當于上面例子中的 A, 一級類目的節(jié)點相當于 A-1, 二級類目的懸浮層相當于 B.


參與規(guī)則

我們嘗試不用 position 屬性, 但為節(jié)點加上 z-index 屬性. 發(fā)現(xiàn) z-index 對節(jié)點沒起作用. z-index 屬性僅在節(jié)點的 position 屬性為 relative, absolute 或者 fixed 時生效.

<div id="a" style="z-index:2;">A</div>
<div id="b" style="z-index:1;">B</div>
<div id="c" style="z-index:0;">C</div>
<div id="a" style="z-index:2;">A</div><div id="b" 
style="position:relative;z-index:1;">B</div><div id="c" 
style="position:relative;z-index:0;">C</div>

默認值規(guī)則

如果所有節(jié)點都定義了 position:relative. z-index 為 0 的節(jié)點與沒有定義 z-index 在同一層級內(nèi)沒有高低之分; 但 z-index 大于等于 1 的節(jié)點會遮蓋沒有定義 z-index 的節(jié)點; z-index 的值為負數(shù)的節(jié)點將被沒有定義 z-index 的節(jié)點覆蓋.

<div id="a" style="position:relative;z-index:1;">A</div>
<div id="b" style="position:relative;z-index:0;">B</div>
<div id="c" style="position:relative;">C</div>
<div id="d" style="position:relative;z-index:0;">D</div>

從父規(guī)則
如果 A, B 節(jié)點都定義了 position:relative, A 節(jié)點的 z-index 比 B 節(jié)點大, 那么 A 的子節(jié)點必定覆蓋在 B 的子節(jié)點前面.

<div id="a" style="position:relative;z-index:1;">
    <div id="a-1">A-1</div>
</div>
 
<div id="b" style="position:relative;z-index:0;">
    <div id="b-1">B-1</div>
</div>

很多人將 z-index 設(shè)得很大, 9999 什么的都出來了, 如果不考慮父節(jié)點的影響, 設(shè)得再大也沒用, 那是無法逾越的層級.

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市邮丰,隨后出現(xiàn)的幾起案子行您,更是在濱河造成了極大的恐慌,老刑警劉巖剪廉,帶你破解...
    沈念sama閱讀 218,607評論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件娃循,死亡現(xiàn)場離奇詭異,居然都是意外死亡斗蒋,警方通過查閱死者的電腦和手機捌斧,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,239評論 3 395
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來泉沾,“玉大人捞蚂,你說我怎么就攤上這事□尉浚” “怎么了姓迅?”我有些...
    開封第一講書人閱讀 164,960評論 0 355
  • 文/不壞的土叔 我叫張陵,是天一觀的道長揭朝。 經(jīng)常有香客問我队贱,道長,這世上最難降的妖魔是什么潭袱? 我笑而不...
    開封第一講書人閱讀 58,750評論 1 294
  • 正文 為了忘掉前任柱嫌,我火速辦了婚禮,結(jié)果婚禮上屯换,老公的妹妹穿的比我還像新娘编丘。我一直安慰自己,他們只是感情好彤悔,可當我...
    茶點故事閱讀 67,764評論 6 392
  • 文/花漫 我一把揭開白布嘉抓。 她就那樣靜靜地躺著,像睡著了一般晕窑。 火紅的嫁衣襯著肌膚如雪抑片。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,604評論 1 305
  • 那天杨赤,我揣著相機與錄音敞斋,去河邊找鬼截汪。 笑死,一個胖子當著我的面吹牛植捎,可吹牛的內(nèi)容都是我干的衙解。 我是一名探鬼主播,決...
    沈念sama閱讀 40,347評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼焰枢,長吁一口氣:“原來是場噩夢啊……” “哼蚓峦!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起济锄,我...
    開封第一講書人閱讀 39,253評論 0 276
  • 序言:老撾萬榮一對情侶失蹤暑椰,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后拟淮,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體干茉,經(jīng)...
    沈念sama閱讀 45,702評論 1 315
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,893評論 3 336
  • 正文 我和宋清朗相戀三年很泊,在試婚紗的時候發(fā)現(xiàn)自己被綠了角虫。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,015評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡委造,死狀恐怖戳鹅,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情昏兆,我是刑警寧澤枫虏,帶...
    沈念sama閱讀 35,734評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站爬虱,受9級特大地震影響隶债,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜跑筝,卻給世界環(huán)境...
    茶點故事閱讀 41,352評論 3 330
  • 文/蒙蒙 一死讹、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧曲梗,春花似錦赞警、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,934評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至定罢,卻和暖如春笤虫,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,052評論 1 270
  • 我被黑心中介騙來泰國打工耕皮, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留境蜕,地道東北人。 一個月前我還...
    沈念sama閱讀 48,216評論 3 371
  • 正文 我出身青樓凌停,卻偏偏與公主長得像,于是被迫代替她去往敵國和親售滤。 傳聞我的和親對象是個殘疾皇子罚拟,可洞房花燭夜當晚...
    茶點故事閱讀 44,969評論 2 355

推薦閱讀更多精彩內(nèi)容

  • 問答題47 /72 常見瀏覽器兼容性問題與解決方案? 參考答案 (1)瀏覽器兼容問題一:不同瀏覽器的標簽?zāi)J的外補...
    _Yfling閱讀 13,754評論 1 92
  • 概念 z-index 屬性設(shè)置元素的堆疊順序完箩。擁有更高堆疊順序的元素總是會處于堆疊順序較低的元素的前面赐俗。 層級關(guān)系...
    DecadeHeart閱讀 938評論 0 0
  • 轉(zhuǎn)載于(http://www.cnblogs.com/ForEvErNoME/p/3373641.html)CSS...
    陌客百里閱讀 1,585評論 1 0
  • CSS 定位 CSS有三種基本的定位機制:普通流阻逮,浮動,絕對定位(absolute, fixed):普通流是默認定...
    _空空閱讀 5,738評論 0 15
  • 我的左邊是你秩彤,偶爾的依靠也是你叔扼。 或許曾經(jīng)有段時間給了你一絲溫暖,你便記掛著這份好漫雷。那時的我覺得事情本不該那樣瓜富,人...
    陌上離殤靜閱讀 184評論 0 0