Sim*_*ini 37
添加wmode = transparent作为参数.
Html解决方案
<iframe title="YouTube video player"
width="480" height="390"
src="http://www.youtube.com/embed/lzQgAR_J1PI?wmode=transparent"
frameborder="0"
>
Run Code Online (Sandbox Code Playgroud)
jQuery解决方案:
$(document).ready(function () {
$('iframe').each(function(){
var url = $(this).attr("src");
$(this).attr("src",url+"?wmode=transparent");
});
});
Run Code Online (Sandbox Code Playgroud)
来源http://www.scorchsoft.com/news/youtube-z-index-embed-iframe-fix
Ben*_*Ben 13
总之,是的.但Youtube视频是Flash.Flash也拥有Z-order的资历.它将覆盖它是否在IFRAME中.
IFRAME和Flash是"重量级"对象.它们有自己的Window Manager对象(Windows中的HWND),因此它们位于其他重量级对象之前或之后.
div,span等都是"轻量级".也就是说,它们是绘制的对象,绘制在Body(这是一个重量级的对象)上,并由浏览器管理,而不是窗口管理器.
就操作系统窗口管理器而言,它们只是浏览器绘制的漂亮图片.这就是为什么他们不能覆盖"真实"对象(或窗口管理器认为是真实的).
它们必须是轻量级的,因为如果每个都会快速耗尽窗口管理器DIV,SPAN并且A必须保留OS资源.