html - 分层 iframe 和视频

标签 html css

我有一个视频,我想在 iFrame 上播放,然后在播放结束后将其删除,但我无法让视频显示在 iframe 上。有什么诀窍吗?我已经尝试过 CSS z-index 但它没有帮助。我有这样的代码:

<html>
<head>
<title>Enormous Wedding III</title>
<link rel="stylesheet" type="text/css" href="style.css">
</head>
<body>

<div class = "container"><span>
<div id = "game"><iframe src='...'></div>
<div id = "video"><video autoplay> <source src="menu.mp4" type="video/mp4">
</video></div>
</span></div>

<script>
    var video = document.getElementsByTagName('video')[0];
    var game = document.getElementsByTagName('iframe')[0];

    video.onended = function(e) {
      video.style.display = "none";
    };
</script>

</body></html>

还有一个 CSS 文件:

    html, body, .container {
    height: 100%;
}
.container {
    display: -webkit-flexbox;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-align: center;
    -ms-flex-align: center;
    -webkit-align-items: center;
    align-items: center;
    justify-content: center;
}

#game {
    z-index: 1;
}

#video {
    z-index: 2;
}

为什么它不起作用?如何让视频显示在 iframe 的顶部?

最佳答案

在子元素上使用position: absolute;,在父元素上使用position: relative;

.container {
    position: relative;
}
iframe {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
}
video {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2;
}

z-index 要求将位置设置为相对、绝对或固定。通过使用绝对位置,您可以将元素放在相对位置树的下一个元素中您想要的位置,在本例中为 .container

示例 jsfiddle shows this in action

关于html - 分层 iframe 和视频,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31055744/

相关文章:

javascript - 将下一个/上一个输入集中在达到最大长度或退格键上

javascript - 如何在元素向下滚动的同时向上展开元素?

html - 固定 div 不会忽略父 div 宽度/高度/位置约束

css - Google 字体内衬数字

html - 基于浏览器和 Wordpress 缓存的可变 CSS

html - 在程序运行html时添加到div的高度

javascript - 查看 id 是否等于可见或隐藏

javascript - 根据屏幕大小调整文本大小

javascript - 在进入或离开 AngularJS 状态时更改 CSS 属性

javascript 不工作