在评论之前,这个问题已经被问了几次,但这里有一个重要的方面。
我不想让视频元素保持播放视频的宽高比。我希望视频元素始终具有19:6的宽高比,即使所播放的视频具有21:9或4:3的宽高比。
我的尝试:
HTML:
<main>
<div class="main-container">
<div class="video-container">
<video class="video" controls="" src="..." poster="..."></video>
</div>
</div>
</main>
CSS:
main {
margin: 0;
padding: 0;
width: 100%;
height: calc(100% - 76px - 55px);
background: black;
}
main .main-container {
margin: 0 10%;
padding: 0;
width: 80%;
height: 100%;
background: black;
display: float-root;
}
main .main-container:after {
clear: both;
}
main .main-container .video-container {
margin: 0;
padding: 0;
width: 75%;
height: 100%;
float: left;
display: inline-block;
}
main .main-container .video-container .video {
margin: 25px 50px 25px 0;
padding: 0;
width: calc(100% - 50px);
max-height: calc(100% - 50px - 130px);
object-fit: contain;
outline: none;
}
JS:
window.addEventListener("resize", function(e) {
var video = document.getElementsByClassName("video")[0];
var width = video.offsetWidth;
var height = width * 0.5625;
video.style.height = height;
});