覆盖整个页面的显示覆盖层

5

我有一个 web 应用程序,它在 iframe 中加载。我需要显示一个覆盖整个页面的遮罩层。 问题是,遮罩层目前只显示在 iframe 区域,而没有覆盖整个页面, (我们的应用程序(一个子应用程序)是一组在 iframe 中加载的应用程序的一部分)


1
#overlay {position: fixed; height: 100%; width: 100%; background: black; opacity: 0.5;} - adeneo
2
要覆盖整个窗口,您必须在原始窗口的DOM中创建覆盖层div,而不是iframe。 - Thomas Stachl
@ThomasStachl 是的,没错,我们需要在原始窗口DOM中执行,非常感谢。 - KRR
2个回答

2

你可以像这样做:

<div id="overlay"></div>

CSS

#overlay
{

  position:fixed;
  top:0;
  left:0;
  bottom:0;
  right:0;
  height: 100%;
  width: 100%;
  margin: 0;
  padding: 0;
  background: #000000;
  opacity: .3;
  filter: alpha(opacity=30);
  -moz-opacity: .3;
   z-index: 101;
}

Sample


这个解决方案仅在从 iframe 中调用时覆盖 iframe 区域,而不是整个页面。 - jansolo

0
尝试类似以下的内容;
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="EN">
<head>
<style type="text/css">
html 
{
 overflow: auto;
}

html, body, div, iframe 
{
 margin: 0px; 
 padding: 0px; 
 height: 100%; 
 border: none;
}

iframe 
{
 display: block; 
 width: 100%; 
 border: none; 
 overflow-y: auto; 
 overflow-x: hidden;
}
</style>
</head>
<body>

<iframe id="tree" name="myiframe" src="http://www.your_page.com/" frameborder="0" marginheight="0" marginwidth="0" width="100%" height="100%" scrolling="auto"></iframe>

</body>
</html>

或者您可以使用JavaScript,例如:

<script type="Text/JavaScript" language="JavaScript">
<!--
function resize_iframe()
{
    var height=window.innerWidth;//Firefox
    if (document.body.clientHeight)
    {
        height=document.body.clientHeight;//IE
    }
    //resize the iframe according to the size of the
    //window (all these should be on the same line)
    document.getElementById("cam").style.height=parseInt(height-
    document.getElementById("cam").offsetTop-8)+"px";
}

// this will resize the iframe every
// time you change the size of the window.
window.onresize=resize_iframe; 

//Instead of using this you can use: 
//  <BODY onresize="resize_iframe()">

</script>
</head>
<body>
<iframe id="cam" width="100%" scrolling="yes" src="http://www.your_page.com" onload="resize_iframe()">
</iframe>
</body>

希望这能有所帮助。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接