2009-06-04 58 views
2

我在刪除按鈕單擊時創建了對話框。它覆蓋父級Div。Z-Index在IE7中不工作

它工作在除IE 7以外的所有瀏覽器中。在此我提到了Css for dialog box and div。

dialog_box { 
width:219px; 
height:100px; 
background-image:url(../images/preference/popup.png); background-repeat:no-repeat; 
padding:10px; 
position:absolute; 
right:-10px; 
z-index:50; 
overflow:hidden; 
} 

Div{ 
border:solid 1px #ffffff; 
padding:10px; 
padding-left:30px; 
padding-top:10px; 
padding-bottom:10px; 
position:relative; 
text-align:left; 
} 

任何想法爲什麼會發生?

+2

你應該用IE標籤這個太...這將是有趣的,看看有一天獸有多少問題產生 – Zac 2009-06-04 07:04:06

回答

0

dialog_box是否在Div的同一個容器中引用該元素?在IE中,處理包含在同一個包含塊中的元素的z-index有時會變得古怪。嘗試將dialog_box移出到更高級的包含塊(比如body元素),然後看看它是如何工作的。您可能需要調整自己的位置,但通常會將彈出式div設置在身體級別,可以緩解任何古怪的z-索引/絕對定位行爲。

+0

號,父股利結束後創建對話框place.Both是不同的Div – Saravanan 2009-06-04 07:15:36

0

不知道你要去這裏...我猜DIV在dialog_box下?

這可能是因爲你沒有爲DIV定義一個z-index,看看是否給出了一個40的作品。

+0

是的我使用Jquery在父Div(都在Iframe中)之後添加了對話框。我爲父級Div設置了z-index。但同樣的事情只發生。 – Saravanan 2009-06-04 08:01:19

+0

嗯..你可能必須嘗試一個JavaScript解決方案..類似 http://richa.avasthi.name/blogs/tepumpkin/2008/01/11/ie7-lessons-learned/ – Zac 2009-06-04 08:27:29

5

很難看不到HTML,我不確定iframe會如何影響這個,但它看起來像this question一樣的問題,所以Davidyn可能是對的。

我在IEs z-indexing更新:新的和活的鏈接)上有一個帖子,帶有一些插圖可能會使您更接近解決方案。

的文章現在已經降到所以這裏是wayback machine's archive

1

你應該設置的位置的z-index:相關因素(而不是在它的絕對要素,如果您有任何)。

另請注意,當爲定位元素設置z-index時,將爲子元素創建一個新的z順序堆棧。

0

這是最好的方式會幫助你。使用JQuery

$(function() { 
    var zIndexNumber = 1000; 
    $(".x").each(function() { 
      $(this).css('zIndex', zIndexNumber); 
      zIndexNumber -= 10; 
    }); 
}); 

風格

的.rel {寬度:50像素;高度:50像素;背景色:#333; 位置:相對; } .abs {position:absolute;頂部:34像素;左:5px的; background-color:#FFF;高度:20像素;寬度:30像素; }

的Html

<div class="rel"><div class="abs"></div></div>