html - Vimeo iframe 不显示在 div 的顶部
问题描述
我正在尝试显示响应屏幕尺寸的 Vimeo iframe。
我写了以下
.wrapper {
display: flex;
flex-wrap: wrap;
min-height: 300px;
border: 1px solid black;
}
.player {
flex: 0 0 66.667%;
max-width: 67%;
}
.lessons {
flex: 0 0 33.33%;
max-width: 33.33%;
border: 1px solid black;
}
<div>
Title
</div>
<div class="wrapper">
<div class="player">
<iframe src="https://player.vimeo.com/video/261210430?title=0&byline=0&portrait=0" width="100%" height="100%" frameborder="0" allow="autoplay; fullscreen" allowfullscreen></iframe>
</div>
<div class="lessons">
Lessons
</div>
</div>
我想要一个可以捕获 2/3 宽度的框,另一个用于播放列表的框来捕获其余部分。这不需要准确 - 但想法是有一个播放器和一个播放列表,并且视频 iframe 应该从 div 的顶部 0 开始。
但正如您在https://jsfiddle.net/zv6Lgaq7/1/中看到的那样,视频不是从顶部 0 开始并捕获 div 的完整大小。
我究竟做错了什么?
解决方案
这里是如何使用 js
function updater() {
fetch('https://vimeo.com/api/oembed.json?url=https://player.vimeo.com/video/261210430', {method: 'GET'})
.then(function(response) {
return response.json();
})
.then(function(data) {
const pw = document.getElementById('iframe').offsetWidth
const h = data.height*pw/data.width
document.getElementById('player').style.height = h+'px'
});
}
updater()
https://jsfiddle.net/j70kquLo/
这个有更好的 CSS https://jsfiddle.net/c7a0wdm5/
推荐阅读
- elasticsearch - ElasticSearch 中两个日期之间的字段总和
- informatica-powercenter - 一对多实例加入 infomatica
- javascript - 如何使用 DOM JavaScript 插入元素
- c# - 如何向 Internet 公开 Web API 以授予与同一网络上的不同计算机连接的能力
- flutter - Flutter 对话框关闭侦听器
- javascript - node.js sequelize:多个“或”和“与”运算符
- apache-kafka - 无法从我的本地机器生成和使用 kafka 消息到 ubuntu VM
- flutter - 滑动时如何更改 TabBar 指示器颜色(Flutter)
- html - 我的 CSS 样式正在影响我不想要的其他标签
- kubernetes - Kubernetes:CoreDNS 和解析主机名的问题