YouTubeの動画を背景全面に配置するサンプルです。
画面サイズの変更にも対応しています。
YouTubeの制御はJavaScriptで対応していますが、配置はCSSのみで行っています。
サンプルコード
HTML
bodyの閉じタグの直前に動画部分用のタグを挿入します。
<div id="background"></div> <div id="background-front"></div>
#backgroundが動画部分になります。
#background-frontが動画の前面に引くレイヤーで、動画をクリックできないようにします。
CSS
#background,
#background-front {
position: fixed;
right: 0;
bottom: 0;
width: auto;
min-width: 100%;
height: auto;
min-height: 100%;
z-index: -1;
}
これで動画の配置対応が完了しました。
YouTubeの埋め込み、制御
今回はYouTubeのミュートを行いたかったので、YouTube Player APIを使用しました。
自動再生と動画のループ、コントロールバーなどの非表示だけでしたら、HTMLにiframeを直接埋め込んでパラメータを指定する方法でも問題ありません。
JavaScript
// APIの読み込み
var tag = document.createElement('script');
tag.src = "https://www.youtube.com/iframe_api";
var firstScriptTag = document.getElementsByTagName('script')[0];
firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);
// プレーヤーを埋め込む場所指定
var ytArea = 'background';
// 埋め込むYouTube ID指定
var ytID = '7xlosTiQt2Q';
// プレーヤーの埋め込み
function onYouTubeIframeAPIReady() {
ytPlayer = new YT.Player(ytArea, {
videoId: ytID,
playerVars: {
rel: 0,
controls: 0,
showinfo: 0,
wmode: 'transparent'
},
events: {
'onReady': onPlayerReady,
'onStateChange': onPlayerStateChange
}
});
}
// YouTubeの準備完了後
function onPlayerReady(e) {
ytPlayer.playVideo();
ytPlayer.mute();
}
// 再生完了後
function onPlayerStateChange(e) {
var ytStatus = e.target.getPlayerState();
if (ytStatus == YT.PlayerState.ENDED) {
ytPlayer.playVideo();
ytPlayer.mute();
}
}
【参考サイト】
コメントが承認されるまで時間がかかります。