如何让iframe尊重IE中的z-index?

Val*_*ion 19 css iframe internet-explorer

我的网站上有一个youtube iframe元素,但它位于我的菜单项旁边.当我将鼠标悬停在菜单项上时,会打开一个子菜单,部分覆盖iframe(因为它的位置,显然不是它的特定功能).这在Firefox中运行良好,但像往常一样,它不在IE中,这里iframe覆盖菜单,使其基本上不可读.有没有我需要添加到iframe的选项才能使其正常工作或者它是否完全不可能?

(目前使用IE9进行测试)

box*_*owh 46

尝试使用Youtubes iframe嵌入方法(如果那不是你已经在做的那样,并添加:?wmode =透明到url(如果它不是第一个url变量,请替换?)

  • 仅供参考,iframe(或包含它的div)需要一个明确的`z-index`才能生效. (2认同)

Alv*_*eto 27

这个问题有几个问题.首先,IE中使用z-index在文档中的其他内容之上或之下设置iframe没有问题.较高的z-index使你的iframe高于其他元素(通常情况下),就iframe的定位而言:相对,绝对或固定.

当iframe的内容是flash嵌入对象时,真正的问题就来了.在这种情况下,如果flash对象的wmode参数设置为"transparent"或"opaque",则flash对象只能位于z位置,但如果使用wmode ="window"将flash包含在HTML文档中,则flash对象将无效.

因此,如果您要包含外部资源(在您没有访问权限的网站中,例如youtube),则只有在使用任何这些模式时才能实现.如果要在iframe中加载flash对象,您可以在其中修改其内容,只需检查:

<param name="wmode" value="transparent" />
Run Code Online (Sandbox Code Playgroud)

已设定.

如果youtube使用"窗口"模式,您可以随时使用自己的Flash播放器并动态连接YouTube视频,将Flash对象模式设置为透明.

  • +1用于解释实际问题是什么 (7认同)