2009-06-04 64 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>