2013-11-21 20 views
18

私はビデオを持っており、幅の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; 
} 
+0

代わりに 'max-width'と' max-height'を使ってみてください。 'width'と' height'を100%に設定することで、正確な寸法に合わせてビデオを伸ばしているかもしれません。 – Scott

+0

max-heightとwidthが機能しなかったので、min-widthとmin-heightを代わりに使用しました。しかし、今ビデオはフルスクリーンですが、幅にはまだ最大値があります。ビデオサイズそして、それは大きくなることはありません... – Milan

答えて

6

を見てくださいビデオwの比率に基づいて負の左マージンを使用して中央に配置しますウィンドウ幅の幅。私はこれを達成するためにJavaScriptとCSSを使用し

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(); 
+0

ウィンドウサイズを拡大して空白を残した場合、これは幅と高さの両方を満たしません。そうではなく、本当に彼の質問に対する受け入れられる答え。 – Chrillewoodz

+0

ウィンドウのサイズを変更する場合は、ビデオサイズを変更する関数を呼び出す必要があります。 – duhaime

8
video { 
    width: 100% !important; 
    height: auto !important; 
} 

あなたが動的にウィンドウの100%に高さを設定するためにJavascriptを使用することができ、ここで http://css-tricks.com/NetMag/FluidWidthVideo/Article-FluidWidthVideo.php

+1

それは彼が望んでいたものではありません.. –

+1

それにもかかわらず、これは私が必要とした解決策でした;)そのtippのためのthx、そしていいえ! – ggzone

2

。 JS関数は、initおよびwindow resizeで一度呼び出す必要があります。 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%); 
} 
8

これはdivのコンテナ内のビデオのために私のために動作します。

.videoContainer 
 
{ 
 
    position:absolute; 
 
    height:100%; 
 
    width:100%; 
 
    overflow: hidden; 
 
} 
 

 
.videoContainer video 
 
{ 
 
    min-width: 100%; 
 
    min-height: 100%; 
 
}

参考:MDNから

video { 
    object-fit: fill; 
} 

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

他の回答をチェックすることによりhttp://www.codesynthesis.co.uk/tutorials/html-5-full-screen-and-responsive-videos

+0

ありがとうございます:] –

26

、私はCSSでオブジェクトフィットを使用しましたザobject-fit CSSプロパティは、置き換えられた要素の内容を、使用されている高さと幅で設定されたボックスにどのように合わせるかを指定します。

値:置き換えコンテンツは、要素のコンテンツボックスを埋めるような大きさ

埋める:オブジェクトの具体的なオブジェクトサイズは、要素の使用幅と高さです。

+1

これは私にとって最高の動作です – Fox

+2

これはビデオを歪ませます(これはビデオを歪ませます)。私のために。救命救急隊員: – silvenon

0

これは初めてのことです。たぶんこのHTMLコードを追加/変更するだけかもしれません。 CSSを必要とせずに。それは私のために働いた:)

width="100%" height="height" 
5

あなたはvideoためbackground-size: coverに相当を探しているなら。

video { 
    object-fit: cover; 
} 

これはビデオを歪ませずにコンテナを満たします。


PS:私はここにLeo Yu's answerに拡張しています。

+0

本当にありがとう。 – Jbur43

+0

@ファビアン・シュルツ人生保護者+1 – tonkihonks13

+0

あなたはメダルに値する...ありがとう。 – iceDragon

関連する問題