無論您的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屬性。
在此先感謝您的幫助!
這真的對我有用。 –