亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

z-index在IE中的迷惑

系統(tǒng) 2404 0

今天在寫頁(yè)面的時(shí)候發(fā)現(xiàn)頭部導(dǎo)航欄的下拉菜單,被下面的畫中畫遮擋住了,然后把導(dǎo)航的下拉菜單樣式設(shè)置為z-index:999;但是在IE下沒起什么作用,而在FF下起作用了。然后又把畫中畫的樣式設(shè)置為 z-index:-99; 在IE下還是沒反映。囧。。。

?

IE下:???????????????????????????????? FF下:
z-index在IE中的迷惑 ??? z-index在IE中的迷惑

?

?

然后在Google里搜索了一下z-index的相關(guān)屬性,找了半天找到一篇文章。才發(fā)現(xiàn)原來(lái)又是IE的BUG。。。
解惑: 其實(shí)這是 IE 瀏覽器(windows)的一個(gè) BUG ——在 IE 瀏覽器中,定位元素會(huì)產(chǎn)生一個(gè)新的 stacking context,并且從 z-index 的值為 0 開始。



CSS specification 中清楚的規(guī)定了除了根元素,只有定位元素的 z-index 被定義一個(gè)非 auto 的 z-index 值才能產(chǎn)生新的 stacking context。一般被相對(duì)定位的元素并沒有定義 z-index,即 z-index 為默認(rèn)值 auto 。所以按理他不會(huì)影響子元素的層疊順序。而設(shè)置了相對(duì)定位的 head 產(chǎn)生一個(gè)新的 stacking context,所以其被定位的子元素 下拉菜單 以這個(gè)新的 stacking context 為參考來(lái)決定層疊順序。



其實(shí)IE這個(gè)BUG的影響范圍很廣,只是大家平時(shí)不太注意。下面來(lái)說明一個(gè)最常見的出現(xiàn)情況 z-index 的負(fù)值解析,很多朋友因?yàn)檫@個(gè) BUG 的存在甚至武斷的認(rèn)為 IE 支持 z-index 的負(fù)值,而FF不支持 z-index 的負(fù)值。



我們知道:設(shè)置了相對(duì)位置(position: relative)的元素但沒有給出非 auto 的 z-index 就不會(huì)產(chǎn)生 stacking context,也就不會(huì)影響其子元素的層疊順序。所以 下拉菜單 的 stacking context 為根元素產(chǎn)生的 root stacking context。“對(duì)于未指定此屬性的定位對(duì)象,z-index 值為正數(shù)的對(duì)象會(huì)在其之上,而 z-index 值為負(fù)數(shù)的對(duì)象在其之下”,按照規(guī)則,應(yīng)該是設(shè)定了 z-index 為-99的 畫中畫 會(huì)顯示在于未指定 z-index 屬性的元素(比如 body)之下。所以在FF下正常。而在IE中設(shè)置了相對(duì)位置的 head 會(huì)擁有 z-index 值0,產(chǎn)生一個(gè)新的 stacking context,下拉菜單 在新的 stacking context 內(nèi)層疊順序,故在 IE 中會(huì)被遮擋住。

?

z-index可以控制div的顯示層級(jí),但是FF和IE對(duì)z-index的解析機(jī)制不一樣。



FF中解析z-index,只要設(shè)置div的z-index屬性就可以控制了。



IE中解析z-index,不僅要設(shè)置div的z-index屬性,還必須設(shè)置div的父div的z-index屬性,這樣才可以控制。

?

解決辦法:在 head 樣式中添加z-index:99; 終于在IE下顯示為正常了,F(xiàn)F下也正常。


其實(shí)當(dāng)時(shí)我也不是靠這文章說的方法解決的,只是讓我知道了原來(lái)這是ie bug。

?


<div id=test1></div>

<div id=test2>
<div id=test3></div>
</div>

如果要讓test3在test1的上面,那必須這樣寫

?


<div id=test style="positon:relative; z-index:1 ;"></div>
<div id=test2 style=" position:relative;z-index:2 ">
<div id=test3 style=" position:absolute; left:0;top:0;"></div>
</div>

關(guān)鍵z-index要寫在父div ,


另外,td不能這樣寫


<td style=" position:relative;z-index:2 ">
<div id=test3 style=" position:absolute; left:0;top:0;"></div>
</td>

?


IE雖然支持,但FF不支持TD這樣寫的,必須要加個(gè)div或者<span>包起來(lái)。

?

?

?

閱讀更詳細(xì)的內(nèi)容:

?

http://www.w3.org/TR/CSS21/visuren.html#z-index

http://bbs.blueidea.com/thread-2872952-1-1.html

?

?

?

?

?

z-index在IE中的迷惑


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對(duì)您有幫助就好】

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長(zhǎng)會(huì)非常 感謝您的哦!!!

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論
主站蜘蛛池模板: 亚洲免费美女视频 | 日韩高清在线二区 | 亚洲伊人久久综合 | 女性一级全黄生活片在线播放 | 饥饿游戏在线 | 成人在线观看网站 | 69性影院在线观看国产精品87 | 亚洲欧美日韩人成 | 久久久久在线观看 | 八戒久久精品一区二区三区 | 成人国产一区二区三区 | 亚洲国产大片 | 一及黄色毛片 | 精品福利在线视频 | 波多野结衣一二区 | 国产精品久久久香蕉 | 在线观看色视频 | 亚洲国产日韩在线一区 | 九九精品视频在线播放8 | 成人免费午间影院在线观看 | 一区二区精品久久 | 日本欧美在线视频 | 性欧美成人依依影院 | 俺去久久| 欧美国产亚洲一区 | 国产做人爱三级视频在线 | 国内精品久久久久久网站 | 免费看欧美一级a毛片 | 亚洲精品综合一区二区 | 国产精品成人免费观看 | 国产午夜亚洲精品不卡福利 | 国产高清在线精品免费 | 奇米久久| 99精品国产在现线免费 | 国产专区在线播放 | 国模无水印一区二区三区 | 久久99国产亚洲高清观看首页 | 国产高清久久 | 欧美一级免费片 | 久久久久久午夜精品 | se94se亚洲欧美在线 |