如何将div放置在屏幕中央的iFrame内

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何将div放置在屏幕中央的iFrame内相关的知识,希望对你有一定的参考价值。

我有一个放在iFrame里面的div。现在这个iFrame正好位于screeen上。

现在我需要将一个位于此框架内的div相对于窗口而不是它的容器。

html

 <FRAMESET rows="136,*" frameborder="no" framespacing="0">
    <FRAME id="cmTop" scrolling="no" src="ABC.aspx?empNo=<%=strEncrEmpNo%>" noresize>
</FRAMESET>

ABC.aspx

<div id="popUp"> 
 This is popUp div that I need to place right on the middle of the screen 
</div>

我尝试了这个位置:固定,静态,绝对但不知何故div不会出现在框架中。

div#popUp 
{
  positon:fixed;
  top:25px;
  left : 20%;
  z-index : 999999999;
}

请原谅这种结构,因为这是该死的遗留系统,没有控制去除这些框架。

任何帮助/建议高度赞赏。谢谢

答案

我不认为有一个干净的方法来做你想要的,我可以提供一些提示,但不是解决方案,希望有人会给你一个工作回合。你可以尝试通过window.parent.appendChild()或window.parent.querySelector('#myDivPopup')将弹出窗口附加到IFRAME的父窗口.innerHTML = myPopupInsideIframe但是这是一种很糟糕的方式。

在IFRAME和PARENT之间进行通信的最佳方式是window.postmessage(...)。

here an example

以上是关于如何将div放置在屏幕中央的iFrame内的主要内容,如果未能解决你的问题,请参考以下文章

如何在css设置div在屏幕中央

在整个屏幕上显示位于 iframe 主体内的 div

我们如何使放置在链接标签内的 div 不被导航

如何从片段内的列表视图打开链接网址?

将视图粘贴在协调器布局内的 viewpager 片段的底部

如何让div的大小占满整个屏幕