今日は、友馬です。
昨今、ちょいちょいPC向けのサイトで活用されている、映像を背景にしようするデザイン手法を試してみました。
作成したデモはこちら。
HTML5でビデオバックグランドを実装
作成手順
- HTML5のVideoタグについて
- mp4,webmファイルの作成
- マークアップ
HTML5のVideoタグについて
バックグラウンドで動画を自動再生するには何通りか実装方法がありますが、今回はHTML5のVideoタグを使用します。これ以外にもJavascriptのプラグインを利用する方法などはまた別途、紹介しようと思います。
ちなみに、今回の実装方法の場合、というか今のところスマートフォン(特にiOS)はビデオの自動再生に対応していないそうです。なので基本的に、ビデオバックグラウンドはPC/Macで閲覧するサイトで利用できる手法となります。
mp4(h264),webmファイルの作成
とりあえず、最新の大体のブラウザに対応するにはh264のmp4ファイルとWebmファイルがあれば良いっぽいです。
という事で、まずはバックグラウンドに使用する動画を手に入れます。自作しても良いのですが、今回はAfter Effects Style|素材からダウンロードしました。
webm形式ファイルの変換
Webm形式の動画ファイルの作成には、動画変換ソフトを利用します。調べてみたところ、Miro Video Converterが一番使い勝手が良さそうでしたので、これを使ってみます。
やり方はすこぶる簡単です。 該当のファイルを選択し、ファイル形式を選択して書き出すだけ。
無事、Webmファイルを変換できたら下準備は完了です。
マークアップ
マークアップは至ってシンプルです。
今回はせっかくなので、上にのせるコンテンツの背景にストライプを入れました。
こんな感じでちょっとした画像をかぶせるておくと、画質の悪い動画を利用している時もいい感じの雰囲気を作れるかもしれませんね。
HTML
<section> コンテンツ </section> <video autoplay loop> <source src="../media/movies/sample.mp4"> <source src="../media/movies/sample.webm"> </video>
CSS
video { min-width: 100%; min-height: 100%; position: fixed; right: 0; top: 0; z-index: 0; } section { margin: 10px; padding: 10px; position: relative; z-index: 1; background: url(stripe.png) repeat; border-radius: 10px; border: 1px solid rgba(0,0,0,0.1); }
参考:
HTML5 の audio 要素と video 要素でサポートされているメディアフォーマット
demosthenes.info – Create Fullscreen HTML5 Page Background Video
- <video>-HTML5タグリファレンス
HTML5とCSS3での実装事態は結構シンプルでしたが、ここからIEの古いバージョンに対応させたり、ブラウザの幅によって動画のサイズを変更したりするにはもう少し手間をかける必要があります。
それに関しては今後、研究がてら色々と試していこうと思います。