2010-11-22 40 views
1

我创建了一个叠加层,我在使用ajax请求时显示。在Firefox中它很好用!但在IE7中我没有看到Div。CSS:不透明 - div不显示在IE7中?

我的div是简单的第一个元素后身体

<div id="overlay"> 
    &nbsp; 
</div> 

和我的CSS是这里

#overlay { 
z-index:1000; 
position:absolute; 
top:0; 
bottom:0; 
left:0; 
width:100%; 
background:#000; 
opacity:0.45; 
-moz-opacity:0.45; 
filter:alpha(opacity=45); 
display:none; 
} 

我想这也许是与上浆,因为我放在一些文本div和我没有看到它在IE7上,但我在Firefox上做。

任意子是否知道它不工作,我在一个小的损失的:-)

我试着删除显示:没有和它一样,我也将高度:汽车,仍然没有喜悦。

我正在使用jquery来显示和隐藏它liek所以,但这不是问题,因为我删除显示:无,我没有看到应该超过其余内容的顶部的div

$("#overlay").show(); 

任何想法?

在此先感谢

+0

我在ie7中测试和工作就像ie8。 – Sotiris 2010-11-22 15:37:11

回答

1

因为你的DIV定位于绝对的,你应该指定一个高度(高于汽车不同)。这可以通过声明高度来完成:100%至#overlay,然后当您打开覆盖图时html, body { height: 100% },关闭覆盖图时html, body { height: auto });

另一个(更好)的方法是通过JavaScript(例如document.body.offsetHeight)至dinamically计算体元件的高度,然后分配给#overlay作为高度

document.getElementById('overlay').style.height = document.body.offsetHeight + 'px';

这将是写在你的jQuery代码片段为

$("#overlay").height($('body').height()).show(); 
0

尝试以下附加CSS:

#overlay { 
    zoom: 1; 
}