DIV覆盖整个页面(IE7)

时间:2013-09-15 05:27:04

标签: html css internet-explorer

我想要实现的是告诉使用旧版IE的用户,他们将无法正确查看网站,因为IE不支持许多现代技术。 我可以使用并警告courser的弹出窗口,但是希望在整个页面上打开一层。

我试图用固定的div实现这一点,但它没有用。 IE只是在页面顶部显示div而不是从一边到另一边覆盖页面。

这是我的CSS

background-color: #c0c0c0;
    position:fixed;
    top:0;
    left:0;
    width:100%;
    height:100%;
    z-index:100;

我在其他帖子中读到问题可能在于将div放在体内...所以我把它移到外面,但结果是一样的。

这是我正在使用的代码

<?

 $ie6 = "MSIE 6.0";  
 $ie7 = "MSIE 7.0"; 
 $ie8 = "MSIE 8.0"; 
 $ie9 = "MSIE 9.0"; 

 $browser = $_SERVER['HTTP_USER_AGENT'];  

 $browser = substr("$browser", 25, 8);  

 if($browser == $ie6 || $browser == $ie7 || $browser == $ie8 || $browser == $ie9){ 

//echo "<script>alert('Your Browser is Internet Explorer version $browser. Please update your browser to Internet Explorer version 10 to view the website correctly. IE versions under 10 does not support many of the modern web technologies and therefore you will not see the website correctly. You can also use other browsers like Chrome, Mozila, Opera, etc');</script>";
print "<div class=ie><div class=ie_message>Your Browser is Internet Explorer version $browser. Please update your browser to Internet Explorer version 10 to view the website correctly. IE versions under 10 does not support many of the modern web technologies and therefore you will not see the website correctly. You can also use other browsers like Chrome, Mozila, Opera, etc</div></div>"; 
}  
?>

无法提供链接,因为我在本地服务器上测试

由于

3 个答案:

答案 0 :(得分:1)

某些浏览器不支持fixed位置,请尝试使用absolute位置:

background-color: #c0c0c0;
position:absolute; /* <-- absolute position */
top:0;
left:0;
width:100%;
height:100%;
z-index:100;

答案 1 :(得分:0)

我认为IE(和其他浏览器)都带有默认的边距设置。输入body {margin: 0;}可能会有所帮助。

编辑:如果我错了,请有人纠正我,但是如果你使用百分比,它不是整个页面的100%,而是100%的父元素,即身体。因此,如果正文上有边距,则重叠的div不能超出这些边距。

答案 2 :(得分:0)

你可以试试这个,

div.ie {
    background-color: #c0c0c0;
    position:fixed;
    top:0;
    bottom: 0;
    left:0;
    right: 0;
    z-index:100;
    overflow: hidden;
}

在IE上试试这个http://jsfiddle.net/AeuxM/show/