Видео HTML5 имеют внутренние пропорции и, как правило, сохраняют его, независимо от того, что ваш CSS говорит им делать.Stretch html5 видео без сохранения пропорций в jQuery
У меня есть чувствительный видеоконтейнер, который не является 16: 9, и я хотел бы, чтобы видеоролики внутри него растягивались до 100% ширины и 100% высоты, даже если он нарушает их исходное соотношение сторон.
Я читал о свойствах объекта CSS-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 не может быть прочитано.
Заранее благодарим за вашу помощь!
Это действительно сработало для меня. –