我想在带有 Flash 内容的 iframe 上方放置一个 div(例如 youtube 视频)。我无权访问 iframe 中的内容,因此无法修改其中的内容。
我已经尝试了很多东西(z-index...一切)。但没有任何效果。我只是问,因为我真的找不到解决方案:(
问题是 iframe 包含 Flash 内容。
恐怕我无法为经过测试的解决方案提供帮助,因为我没有任何 Flash 文件来测试创建答案,但我可以告诉你为什么会发生这种情况。
Flash 是一个浏览器插件,这意味着 Flash 电影永远不会真正成为 HTML 文档的一部分。取而代之的是页面的区域被保留给插件运行,然后被调用并在页面的“顶部”运行。因此,在其他元素上设置 z-index 永远不会真正解决问题,无论您尝试哪种组合。
但是,您可以在插件识别的元素本身上设置一个“魔术”参数/属性,称为“wmode”。如果您将此参数/属性设置为“透明”,则 Flash 插件允许一些 HTML 元素显示出来,从而产生它们位于 Flash 电影之上的错觉。
如果您能够联系 iframe 的所有者将 wmode 参数设置为透明,我建议您这样做。如果这是嵌入的 youtube 或 vimeo,请查看是否有任何文档或选项可以自行添加参数。
如果你没有什么可以做的,因为即使是 JavaScript 也不会是你的朋友(出于安全原因,你不能用 JS 修改框架的内容)
编辑:
刚刚记住,如果有办法让您使用 HTML5 视频而不是 Flash,那会有所帮助。HTML5 视频作为文档对象模型的一部分呈现,因此可以通过 z-index 属性进行控制。
尼尔
iframe
标签具有最高的 z-index。它们在页面上高于一切。你可以把一个iframe
放在另一个上面,然后把你的文本放在里面。
jsFiddle:http: //jsfiddle.net/USqxj/30/
<div><iframe style="width:100px;height:100px;"></iframe></div>
<div><iframe style="width:50px;height:50px;position:absolute;margin-top:-85px;left:25px;"></iframe></div>