ビデオがあり、幅の100%、高さの100%を満たすようにします。そして、アスペクト比を維持します。
両方とも少なくとも100%満たす可能性はありますか?また、アスペクト比を維持するためにビデオの一部を画面から外す必要がある場合、それは問題ではありません。
HTML:
<video preload="auto" class="videot" id="videot" height="100%" preload>
<source src="BESTANDEN/video/tible.mp4" type="video/mp4" >
<object data="BESTANDEN/video/tible.mp4" height="1080">
<param name="wmode" value="transparent">
<param name="autoplay" value="false" >
<param name="loop" value="false" >
</object>
CSS:
.videof, .videot {
width: 100% !important;
height: 100% !important;
}
JavaScriptを使用して高さを動的にウィンドウの100%に設定し、ビデオ幅とウィンドウ幅の比率に基づいて負の左マージンを使用して中央に配置できます。
var $video = $('video'),
$window = $(window);
$(window).resize(function(){
var height = $window.height();
$video.css('height', height);
var videoWidth = $video.width(),
windowWidth = $window.width(),
marginLeftAdjust = (windowWidth - videoWidth) / 2;
$video.css({
'height': height,
'marginLeft' : marginLeftAdjust
});
}).resize();
他の回答を確認することで、CSSでオブジェクトフィットを使用しました。
video {
object-fit: fill;
}
MDNから( https://developer.mozilla.org/en-US/docs/Web/CSS/object-fit ):
Object-fit CSSプロパティは、置き換えられた要素のコンテンツが、使用される高さと幅によって確立されたボックスにどのように適合するかを指定します。
値:塗りつぶし
置換されたコンテンツは、要素のコンテンツボックスを満たすサイズになります。オブジェクトの具体的なオブジェクトサイズは、要素で使用される幅と高さです。
video
のbackground-size: cover
と同等のものを探している場合。
video {
object-fit: cover;
}
これにより、ビデオを歪めることなくコンテナがいっぱいになります。
PS:私は Leo Yuの答え ここで拡張しています。
video {
width: 100% !important;
height: auto !important;
}
こちらをご覧ください http://css-tricks.com/NetMag/FluidWidthVideo/Article-FluidWidthVideo.php
これは、divコンテナ内のビデオに対して有効です。
.videoContainer
{
position:absolute;
height:100%;
width:100%;
overflow: hidden;
}
.videoContainer video
{
min-width: 100%;
min-height: 100%;
}
参照: http://www.codesynthesis.co.uk/tutorials/html-5-full-screen-and-responsive-videos
最も簡単で応答性が高い。
<body>
<video src="full.mp4" autoplay muted loop></video>
</body>
video {
height: 100vh;
width: 100%;
object-fit: fill;
position: absolute;
}
JavaScriptとCSSを使用してこれを実現します。 JS関数は、initおよびウィンドウのサイズ変更時に一度呼び出す必要があります。 Chromeでテスト済みです。
HTML:
<video width="1920" height="1080" controls>
<source src="./assets/video.mp4" type="video/mp4">
Your browser does not support the video tag.
</video>
JavaScript:
function scaleVideo() {
var vid = document.getElementsByTagName('video')[0];
var w = window.innerWidth;
var h = window.innerHeight;
if (w/16 >= h/9) {
vid.setAttribute('width', w);
vid.setAttribute('height', 'auto');
} else {
vid.setAttribute('width', 'auto');
vid.setAttribute('height', h);
}
}
CSS:
video {
position:absolute;
left:50%;
top:50%;
-webkit-transform:translate(-50%,-50%);
transform:translate(-50%,-50%);
}
これはビデオをバナーに合わせるのに最適な方法です。フルスクリーンのためにこれを少し調整する必要があるかもしれませんが、大丈夫です。 100%CSS。
position: absolute;
top: 50%;
left: 50%;
z-index: 1;
min-width: 100%;
min-height: 100%;
width: auto;
height: auto;
transform: translate(-50%, -50%);
<style>
.video{position:absolute;top:0;left:0;height:100%;width:100%;object-fit:cover}
}
</style>
<video class= "video""
disableremoteplayback=""
mqn-lazyimage-video-no-play=""
mqn-video-css-triggers="[{"fire_once": true, "classes": [".mqn2-ciu"], "from": 1, "class": "mqn2-grid-1--hero-intro-video-meta-visible"}]"
mqn-video-inview-no-reset="" mqn-video-inview-play="" muted="" playsinline="" autoplay>
<source src="https://github.com/Slender1808/Web-Adobe-XD/raw/master/Home/0013-0140.mp4" type="video/mp4">
</video>
高さのためにこのCSSを使用してください
height: calc(100vh) !important;
これにより、ビデオの垂直方向の高さが100%になります。
私たちは以下のコードで試しましたが、サムスンのテレビ、Chrome、IE11、Safariで動作します...
<!DOCTYPE html>
<html>
<head>
<title>Video</title>
<meta charset="utf-8" />
<style type="text/css" >
html,body {
height: 100%;
text-align: center;
margin: 0;
padding:0;
}
video {
width: 100vw; /*100% of horizontal viewport*/
height:100vh; /*100% of vertical viewport*/
}
</style>
</head>
<body>
<video preload="auto" class="videot" id="videot" preload>
<source src="BESTANDEN/video/tible.mp4" type="video/mp4" >
<object data="BESTANDEN/video/tible.mp4" height="1080">
<param name="wmode" value="transparent">
<param name="autoplay" value="false" >
<param name="loop" value="false" >
</object>
</video>
</body>
</html>