html - 如何将模态 video.js 播放器响应式地放入视口?
问题描述
我想添加一个模态video.js播放器,即:
- 与视频具有相同的纵横比(视频具有不同的纵横比)
- 在视口中居中
- 如果视频的尺寸(宽度、高度、两者)小于视口
- 有视频的大小
- 如果视频的尺寸(宽度、高度、两者)大于视口
- 缩小到适合视口的最大尺寸
我尝试对视频播放器本身进行样式设置以及对封闭的div
. 我试过video.js
内置vjs-fluid
和vjs-fill
。以及上述的许多组合 - 无济于事。
这个问题的解决方案是什么样的?
这是一个最低限度的代码模板(也在这个 JSFiddle中):
.video-js {
position: fixed;
z-index: 10;
left: 50%;
top: 50%;
transform: translate(-50%, -50%);
}
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>How to fit modal video.js player responsively into viewport?</title>
<link href="https://vjs.zencdn.net/7.4.1/video-js.css" rel="stylesheet">
<script src='https://vjs.zencdn.net/7.4.1/video.js'></script>
</head>
<body>
<article>
<h1>
Lorem Ipsum
</h1>
<p>
Lorem ipsum dolor sit amet, consectetur adipisici elit, sed eiusmod tempor incidunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquid ex ea commodi consequat. Quis aute iure reprehenderit
in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint obcaecat cupiditat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
</p>
</article>
<video id="my-player" class="video-js vjs-fluid" controls preload="auto" poster="https://vjs.zencdn.net/v/oceans.png" data-setup='{}'>
<source src="https://vjs.zencdn.net/v/oceans.mp4" type="video/mp4">
</source>
<source src="https://vjs.zencdn.net/v/oceans.webm" type="video/webm">
</source>
<source src="https://vjs.zencdn.net/v/oceans.ogv" type="video/ogg">
</source>
<p class="vjs-no-js">
To view this video please enable JavaScript, and consider upgrading to a
web browser that
<a href="https://videojs.com/html5-video-support/" target="_blank">
supports HTML5 video
</a>
</p>
</video>
</body>
</html>
解决方案
推荐阅读
- sql - sql查询将单元格值设置为另一列中另一个单元格之间的差减去先前结果
- javascript - 更改特定值的颜色
- python - 两个字典,其中一些元素链接/连接和一些独特的
- python - Keras NASNet 训练
- java - 获取 kubernetes secret / env 以在 java 应用程序中进行身份验证
- python - Displaying JSON data in a 'Zotero'-like fashion, using Tkinter
- routing - Angular 7延迟加载,子路由总是加载第一条路由
- macos - Meteor CLI 无法进行全新安装
- python - 连接字典中元组的三元组
- android - 后台服务中的 Google Vision API?