HTML5video
要素を使用すると、一方の寸法を拡大縮小すると、もう一方の寸法が自動的に拡大縮小されてアスペクト比が維持されます。そのためheight
、video
要素height
のをのに設定し、をに設定しwindow
て包含内の中央に配置すると、探している効果が得られるはずです。div
overflow
hidden
HTML:
<div id="container">
<video id="player" autoplay loop>
<source src="http://inoq.com/lxgo2/videos/transtejo.mp4" type="video/mp4" />
<source src="http://inoq.com/lxgo2/videos/transtejo.webm" type="video/webm" />
<source src="http://inoq.com/lxgo2/videos/transtejo.ogv" type="video/ogg" />
Your browser does not support the video tag.
</video>
</div>
JavaScript:
// Using jQuery for ease
var $player = $('#player');
var $window = $(window);
// if you only set one of width and height, the other dimension is automatically
// adjusted appropriately so that the video retains its aspect ratio.
// http://dev.opera.com/articles/view/everything-you-need-to-know-about-html5-video-and-audio/
$player[0].height = $window.height();
// centre the video
$player.css('left', (($window.width() - $player.width()) / 2) + "px");
CSS:
#container {
position: absolute;
width: 100%;
height: 100%;
overflow: hidden;
}
#player {
position: absolute;
}