最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

CSS 定位之 z-index 問題分析

  發(fā)布時(shí)間:2012-11-13 11:30:37   作者:佚名   我要評論
IE6/7對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)先級比較

點(diǎn)擊查看原圖

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

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

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

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

 

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

IE6/7對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)先級比較。

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

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

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

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

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

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

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

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

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


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

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

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

 

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

1. c > (b && b *) > (a && a *) 即元素c及c的所有定位元素層級比a、b高

2. m > h、 g > k、d > m

實(shí)例二:假設(shè)a的position不為static,z-index屬性不存在,定位樹中a的子元素z-index一次分別為1,2,3,4...其它定位元素z-index:1:

1. 根據(jù)結(jié)論三有:IE6/7下 b > (a && a *) 即元素b的層級比a及a的所有定位元素層級高,其它瀏覽器下:i > h > b > d

相關(guān)文章

最新評論

册亨县| 进贤县| 屏东县| 普洱| 通州区| 普洱| 韶山市| 九江市| 县级市| 辛集市| 丰县| 上栗县| 隆昌县| 监利县| 旅游| 枣庄市| 连州市| 五常市| 太湖县| 湘潭县| 海丰县| 富平县| 新安县| 永川市| 日喀则市| 广平县| 南充市| 英山县| 杭锦旗| 宜川县| 岳池县| 茂名市| 桑植县| 西平县| 杂多县| 句容市| 贞丰县| 峨山| 盱眙县| 贵州省| 宜兰县|