Html 可以在iframe前面放置一些东西吗?

Html 可以在iframe前面放置一些东西吗?,html,css,Html,Css,我在页面上嵌入YouTube视频,它们出现在下拉菜单、lightbox等上。我不想使用旧的YouTube嵌入代码,但愚蠢的iframe令人讨厌地将自己置于页面上的所有其他元素之上。有可能让它知道自己的位置吗?你可以使用边距顶部:12px或标签中的某个内容 尝试在帧上设置z索引 您可以将iframe和任何您想要的东西漂浮在容器内的iframe顶部 然后,在你想要放在顶部的项目上,只需设置一个负的顶部边距 来证明我的意思 你也可以在你想放在前面的物品上使用绝对定位,但这通常会导致网站出现其他问题 更

我在页面上嵌入YouTube视频,它们出现在下拉菜单、lightbox等上。我不想使用旧的YouTube嵌入代码,但愚蠢的iframe令人讨厌地将自己置于页面上的所有其他元素之上。有可能让它知道自己的位置吗?

你可以使用
边距顶部:12px或标签中的某个内容

尝试在帧上设置z索引


您可以将iframe和任何您想要的东西漂浮在容器内的iframe顶部

然后,在你想要放在顶部的项目上,只需设置一个负的顶部边距

来证明我的意思

你也可以在你想放在前面的物品上使用绝对定位,但这通常会导致网站出现其他问题

更新 看起来您正试图违反常规HTML流。在HTML中,排在第一位的内容通常是在后面的内容之前

但是,您可以从HTML呈现的常规流程中提取一个元素,并对其进行绝对定位


我要展示一下这是怎么做到的。请注意,绝对位置可能会给您的站点设计带来其他问题。

如果您将iFrame放在div中,并在div上设置z索引,这应该会起作用。
我一直在工作中这样做。

最终更新

在iframe url的末尾添加
?wmode=transparent
,或
&;wmode=transparent
如果还传递了其他参数,似乎可以解决所有浏览器的问题


原始答案

使用
z-index
结合定位(相对或绝对)

youtube视频(新代码)上的下拉列表示例


更新


iframe
上添加了
div
,并且我误解了一个项目的下拉列表,我需要类似的东西。我打算显示iframe内容,但不允许用户查看其链接。相反,我想将用户指向另一个url。 这是我的解决办法。要在IE中工作,为over元素设置一些背景色很重要

 #over{
        position: absolute;
        top: 0px;
        left: 0px;
        height: 100%;
        width: 100%;
        background-color:white; /* for unknow reason is color important for IE*/
        opacity:0;
        filter:alpha(opacity=0);    
    }

    iframe{
        width: 100%;
        height: 550px;
    }

    <div>
        <div id="over" onclick="parent.location='....'"></div>
        <iframe src="...">You don't have iframe support, unfortunately</iframe>         
   </div>
#完毕{
位置:绝对位置;
顶部:0px;
左:0px;
身高:100%;
宽度:100%;
背景色:白色;/*未知原因,颜色对IE很重要吗*/
不透明度:0;
过滤器:alpha(不透明度=0);
}
iframe{
宽度:100%;
高度:550px;
}
很遗憾,您没有iframe支持

对不起,我的意思是像前面一样,我会更改标题。你是否将youtube放在iframe中是的,现在youtube使用iframe进行嵌入,除了iframe与页面上的任何其他元素重叠之外,它很好也很短。我认为你可以对iframe应用css,比如Wndvoted,因为在jsfiddle.net或类似网站上进行一个简单的测试就会表明这不起作用。谢谢,但问题是#在iframe出现在页面上之前就结束了,就像这样,为什么你不能更改顺序呢?:(您尝试的做法并不少见,但往往与HTML的设计方式背道而驰。我已经更新了我的答案。我有一个产品,其图像使用colorbox(如lightbox)打开)在这些图像下面,我有该产品的YouTube剪辑。当我单击图像时,colorbox打开,但YouTube剪辑在打开的图像前面。所有colorbox元素都有位置:绝对;顶部:0;左侧:0;z索引:9999;所以它应该在iframe前面,对吗?我会用绝对定位来修复它。谢谢。@A-好,设置好
iframe
to
position:relative
z-index:1
。这将在没有任何副作用的情况下解决您的问题。在任何情况下都在iframe之前。@A-OK,发布了适用于所有浏览器的解决方案,尽管它涉及更改url。嗨!我使用这种方法,它工作正常!顺便说一句,这里有一个有趣的解释为什么它工作往这边走