无论您的CSS告诉他们做什么,HTML5视频都具有固有的纵横比,并且倾向于保留它。伸展html5视频而不保留纵横比jQuery
我有一个不是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属性。
在此先感谢您的帮助!
这真的对我有用。 –