HTML5 ビデオには固有の縦横比があり、CSS が何をするように指示しても、それを維持する傾向があります。
16:9 ではないレスポンシブ ビデオ コンテナーがあり、元の縦横比が崩れても、その中のビデオを幅 100%、高さ 100% に拡大したいと考えています。
私の問題を解決する CSS object-fit: fill プロパティについて読みましたが、最新のブラウザーがそれをサポートするまでにはまだ長い道のりがあります。したがって、必要なことを達成するには JavaScript に頼る必要があると思います。
私はこのフィドルに出くわしました:
function scaleToFill(videoTag) {
var $video = $(videoTag),
videoRatio = videoTag.videoWidth / videoTag.videoHeight,
tagRatio = $video.width() / $video.height();
if (videoRatio < tagRatio) {
$video.css('-webkit-transform','scaleX(' + tagRatio / videoRatio + ')')
} else if (tagRatio < videoRatio) {
$video.css('-webkit-transform','scaleY(' + videoRatio / tagRatio + ')')
}
}
$(function () {
$("#testVideo").click(function(evt) {
scaleToFill(document.getElementsByTagName("video")[0]);
});
});
ただし、このコードを機能させることができないようです。コンソールに、videoWidth プロパティを読み取れないことが表示されます。