当前位置: 首页 > 面试题库 >

z-index在iframe中的pdf中无法在Internet Explorer中使用pdf

安经纶
2023-03-14
问题内容

我无法z-index处理iframe包含IE8 pdf文件的。它可以与谷歌浏览器一起使用。

HTML

<div id="div-text">
      <div id="shouldBeOnTop">my text that should be on top</div>
</div>
<div id="div-frame">
    <iframe src="http://legallo1.free.fr/french/CV_JLG.pdf" width="200" height="200"/>
</div>

CSS

#div-text{
    position:relative;
    left:210px;
    top:20px
}

#shouldBeOnTop{
    position:relative;
    right:60px;
    background-color:red;
    width:100px;
    z-index:2;
}

#div-frame{
    position:relative;
     z-index:1;
}

问题答案:

有一种方法可以用其他元素覆盖IE中的窗口元素,但是您不会喜欢它。

背景:开窗和无窗元素

旧版IE将元素分为两种类型:窗口化和无窗口化。

像普通的元素div,并input窗户 。它们由浏览器本身在单个MSHTML平面中呈现,并且相互尊重z轴的顺序。

在MSHTML外部呈现的元素带有 窗口;例如select(由OS渲染)和ActiveX控件。它们相互尊重彼此的z顺序,但是占据了一个单独的MSHTML平面,该平面绘制在所有无窗口元素的顶部。

唯一的例外是iframe。在IE 5中,iframe是一个窗口元素。IE5.5中对此进行了更改;现在它是一个没有窗口的元素,但是出于向后兼容的原因,它仍将覆盖具有较低z-index的窗口元素

换句话说: iframe 尊重z-index窗口元素和无窗口元素。如果将iframe放在窗口元素上方,iframe则位于上方的任何无窗口元素都将可见!

这是什么意思

PDF将始终在常规页面内容上绘制,就像selectIE7之前的元素一样。解决方法是iframe在您的内容和PDF之间放置另一个。

HTML:

<div id="outer">
    <div id="inner">my text that should be on top</div>
    <iframe class="cover" src="about:blank"></iframe>
</div>

<iframe id="pdf" src="http://legallo1.free.fr/french/CV_JLG.pdf" width="200" height="200"></iframe>

CSS:

#outer {
    position: relative;
    left: 150px;
    top: 20px;
    width: 100px;
    z-index: 2;
}

    #inner {
        background: red;
    }

    .cover {
        border: none;
        position: absolute;
        top: 0;
        left: 0;
        height: 100%;
        width: 100%;
        z-index: -1;
    }

#pdf {
    position: relative;
    z-index: 1;
}

支持

这已经过测试,应该可以在IE7–9中使用。如果您对在其他浏览器的DOM中显示它感到不安,则可以使用JavaScript添加它或将其包装在仅IE的条件注释中:

<!--[if IE]><iframe class="cover" src="about:blank"></iframe><![endif]-->


 类似资料:
  • 问题内容: 这个div 比这上面显示的 当我在第一个div中分配z-index:98时,一切都很好!如果需要,我可以提供更多代码。 问题答案: z-index面向其父级-它们都在同一个父级元素中吗?z-index实现了自己的堆栈-例如: 框D,E和F是框C的后代->框F(z-index:-1)覆盖框B(z-index:1),因为它是框c的后裔(此框与z-索引:3,超出框b)

  • 我正在尝试嵌入PDF,我希望侧视图在默认情况下隐藏。我似乎只能通过隐藏工具栏来实现这一点。我希望工具栏是可见的,但默认情况下不是侧菜单。我有没有办法做到这一点?代码:

  • 我正在运行一个流媒体应用程序,在其中我尝试在iframe组件中运行selenium(单击搜索框并),但我一直收到错误“NoSuchElementException”。 它成功地打开了流媒体应用程序上的iframe,但它不执行iframe内的selenium代码。当我在没有iframe的情况下测试它时,selenium代码本身运行良好,但我无法让它在iframe内工作。 以下是我的代码: 这是带有错

  • 描述 (Description) z-index设置元素的堆叠级别。 可能的值 (Possible Values) auto - 元素的堆栈级别与其父元素的堆栈级别相同。 integer - 元素的堆栈级别设置为给定值,并为任何后代元素建立新的堆栈上下文。 适用于 (Applies to) 所有定位的元素。 DOM语法 (DOM Syntax) object.style.zindex = "1";

  • 问题内容: 我试图通过类名选择一个,但是它不起作用,我正在尝试使用它,但是当我尝试在不能的元素中键入内容时,请帮我这是我的代码: 这是我网页中的HTML: 问题答案: 通过xpath找到iFrame解决了问题 然后返回到顶部窗口:

  • 我正在尝试使用ITextSharp从HTML字符串生成PDF。但是外观风格没有得到应用。我在stackoverflow上查看了与此相关的帖子,但没有得到任何帮助。Plz帮助我如何将pdf格式的HTML转换为HTML UI中显示的实际样式。样式标签中包含CSS。这是我的C代码 下面是带有HTMl字符串和css的代码