web-dev-qa-db-ja.com

ビデオ100%の幅と高さ

ビデオがあり、幅の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;
 }
31
Milan

JavaScriptを使用して高さを動的にウィンドウの100%に設定し、ビデオ幅とウィンドウ幅の比率に基づいて負の左マージンを使用して中央に配置できます。

http://jsfiddle.net/RfV5C/

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();
11
Gladstone24

他の回答を確認することで、CSSでオブジェクトフィットを使用しました。

video {
    object-fit: fill;
}

MDNから( https://developer.mozilla.org/en-US/docs/Web/CSS/object-fit ):

Object-fit CSSプロパティは、置き換えられた要素のコンテンツが、使用される高さと幅によって確立されたボックスにどのように適合するかを指定します。

値:塗りつぶし

置換されたコンテンツは、要素のコンテンツボックスを満たすサイズになります。オブジェクトの具体的なオブジェクトサイズは、要素で使用される幅と高さです。

55
Leo Yu

videobackground-size: coverと同等のものを探している場合。

video {
  object-fit: cover;
}

これにより、ビデオを歪めることなくコンテナがいっぱいになります。


PS:私は Leo Yuの答え ここで拡張しています。

12
Fabian Schultz
video {
  width: 100%    !important;
  height: auto   !important;
}

こちらをご覧ください http://css-tricks.com/NetMag/FluidWidthVideo/Article-FluidWidthVideo.php

11
JerryHuang.me

これは、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

10
Lee Chun Hoe

最も簡単で応答性が高い。

<body>
  <video src="full.mp4" autoplay muted loop></video>
</body>
video {
  height: 100vh;
  width: 100%;
  object-fit: fill;
  position: absolute;
}
6
hussein sayed

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%);
}
3
asdf

これはビデオをバナーに合わせるのに最適な方法です。フルスクリーンのためにこれを少し調整する必要があるかもしれませんが、大丈夫です。 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%);
2
Alex Durston
<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="[{&quot;fire_once&quot;: true, &quot;classes&quot;: [&quot;.mqn2-ciu&quot;], &quot;from&quot;: 1, &quot;class&quot;: &quot;mqn2-grid-1--hero-intro-video-meta-visible&quot;}]"
  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>
0
Jadson Matos

高さのためにこのCSSを使用してください

height: calc(100vh) !important;

これにより、ビデオの垂直方向の高さが100%になります。

0
Delowar Hossain

私たちは以下のコードで試しましたが、サムスンのテレビ、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>
0
Dobin