首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >IE-8 iframe和flash对象忽略z-index?

IE-8 iframe和flash对象忽略z-index?
EN

Stack Overflow用户
提问于 2011-06-05 17:23:32
回答 3查看 12.9K关注 0票数 4

我有以下div,我正在尝试使iframe层位于my_flash的前面。这是一个常见的问题,我已经阅读了所有我能找到的解决方案,但我仍然在IE8中遇到问题。顺便说一下,我正在使用SWFobject。

以下是源代码:

代码语言:javascript
复制
<script type="text/javascript">
swfobject.embedSWF("index.swf", "my_flash", "100%", "100%", "8.0.0");
swffit.fit("my_flash",900,650);
</script>

<div id="my_flash" style="z-index:1;"></div>

<div  style="border:none; overflow:hidden; width:50px; height:21px; z-index:9999; position: absolute; bottom: 5px; left: 110px;" >
<iframe src="http://www.facebook.com/plugins/like.php?blah.html" scrolling="no" frameborder="0" allowTransparency="true"  style="z-index:9998"/>
</div>
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-06-06 00:29:18

不幸的是,z-index不会影响Flash Player。参见本例:http://demos.learnswfobject.com/html-over-swf/dynamic.html (Related tutorial)

在上面链接的示例中,父元素具有position:"relative",而HTML元素具有position:"absolute"。SWF不需要指定position。所有元素都没有指定z-index。SWF需要将wmode设置为opaquetransparentwmode:"opaque"wmode:"transparent"更可取,因为众所周知,transparent会导致问题,并且比opaque使用更多的处理能力。

试试这个:

代码语言:javascript
复制
<style type="text/css"> 
/* establish relationship with child elements */
#wrapper { position: relative; }

/* this element will automatically appear overtop 
   of the wmode=opaque SWF without needing z-index */
#myiframe { position: absolute; }

/* No CSS needs to be specified for the SWF */
#myswf { }
</style>

<div id="wrapper"> 
    <iframe id="myiframe" src="mypage.html"></iframe> 
    <div id="myswf">This will be replaced by SWFObject</div> 
</div> 
票数 7
EN

Stack Overflow用户

发布于 2011-06-05 17:26:38

使用SWFObject嵌入时,应设置Flash对象的wmode参数。

Here就是这样做的一个简短的教程。

以下是针对您的问题的修改代码:

代码语言:javascript
复制
<script type="text/javascript">
  swfobject.embedSWF("index.swf", "my_flash", "100%", "100%", "8.0.0", null, { wmode: "transparent" });
  swffit.fit("my_flash",900,650);
</script>
票数 0
EN

Stack Overflow用户

发布于 2011-08-24 08:23:55

代码语言:javascript
复制
var flashvars = {};
var params = {};
params.wmode = "transparent";
var attributes = {};

swfobject.embedSWF("index.swf", "my_flash", "100%", "100%", "8.0.0", '/swfobject/expressInstall.swf',
    flashvars, params, attributes);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6242034

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档