国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 開(kāi)發(fā) > CSS > 正文

CSS 定位之 z-index 問(wèn)題分析

2024-07-11 08:29:32
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

點(diǎn)擊查看原圖

關(guān)于z-index,目前遇到的一些問(wèn)題

1. 某些瀏覽器下元素層級(jí)遮蓋存在bug;

2. 某個(gè)元素z-index設(shè)的太大,導(dǎo)致始終無(wú)法被遮蓋;

3. js動(dòng)態(tài)計(jì)算z-index,導(dǎo)致元素覆蓋關(guān)系部可控

 

層級(jí)遮蓋bug出現(xiàn)的原因:

IE6/7對(duì)z-index的表現(xiàn)跟IE8及以上瀏覽器不一致。position值為非static時(shí),如果不設(shè)置z-index屬性,IE6/7下z-index默認(rèn)為0,而IE8及以上瀏覽器z-index為auto,且zindex:auto的元素不參與堆疊優(yōu)先級(jí)比較。

ff/chrome z-index IE6/7 IE8/9
不設(shè)置 0 auto auto
number number number number

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

先看幾點(diǎn)結(jié)論:

1. 對(duì)于同級(jí)元素,默認(rèn)(或position:static)情況下文檔流后面的元素會(huì)覆蓋前面的;

2. 對(duì)于同級(jí)元素,position不為static且z-index存在的情況下z-index大的元素會(huì)覆蓋z-index小的元素,即z-index越大優(yōu)先級(jí)越高;

3. IE6/7下position不為static,且z-index不存在時(shí)z-index為0,除此之外的瀏覽器z-index為auto

4. z-index為auto的元素不參與層級(jí)關(guān)系的比較,由向上遍歷至此且z-index不為auto的元素來(lái)參與比較。

在上面2點(diǎn)結(jié)論的基礎(chǔ)上,我們引入“定位樹(shù)”(非w3c官方詞匯)的概念來(lái)做層級(jí)的比較。

在定位樹(shù)這個(gè)概念下,瀏覽器在渲染dom節(jié)點(diǎn)時(shí),除了生成dom樹(shù)之外,還會(huì)根據(jù)dom樹(shù)中的定位元素(position不為static)生成“定位樹(shù)”:
dom樹(shù)、定位樹(shù)對(duì)比如下(其中邊上有紅色圓圈的表示該元素position不為static):


可以這樣理解:定位樹(shù)中包含了dom樹(shù)中position不為staitc的全部元素。非同級(jí)元素比較層級(jí)關(guān)系可以這樣比較:

1. 向上遍歷定位樹(shù)的父節(jié)點(diǎn)直到2個(gè)元素為同級(jí)元素。

2. 根據(jù)上面的結(jié)論來(lái)最最后的比較。層級(jí)高的元素會(huì)越靠近用戶(hù)的顯示器并能覆蓋層級(jí)低的元素。

 

實(shí)例一:假設(shè)上圖中所有標(biāo)紅色元素position都不為static;且z-index=1,根據(jù)上面的比較規(guī)則可以知道:

發(fā)表評(píng)論 共有條評(píng)論
用戶(hù)名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 廉江市| 闽清县| 富蕴县| 高平市| 惠东县| 仪陇县| 板桥市| 呈贡县| 饶河县| 涿鹿县| 汉阴县| 全椒县| 滨海县| 那曲县| 中超| 临西县| 舒城县| 九龙坡区| 维西| 江津市| 茶陵县| 康马县| 湖南省| 贵定县| 昌邑市| 余江县| 花莲市| 富顺县| 屏东县| 南阳市| 务川| 西昌市| 收藏| 长海县| 石门县| 萨嘎县| 孝感市| 庆安县| 夹江县| 阜宁县| 巫山县|