横幅いっぱいmp4のレスポンシブ背景(キービジュアルなど)
video タグだと Chrome で動かなかったので video.js を使いました。
目次
video.js
CDNを利用する場合
head
1 |
<link href="https://vjs.zencdn.net/7.1.0/video-js.css" rel="stylesheet"> |
body の上
1 |
<script src="https://vjs.zencdn.net/7.1.0/video.js"></script> |
HTML
1 2 3 4 5 6 |
<div class="video-wrapper"> <video class="video-js" preload="auto" muted playsinline></video> <div class="video-inner"> <h1>mp4を横幅いっぱいの背景にする</h1> </div> </div> |
CSS
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
/* ビデオ */ .video-wrapper { width: 100%; position: relative; padding-top: 56.25%; background: none; } #vjs_video_3 { display: block; position: absolute; top: 0; left: 0; z-index: 1; width: 100%; height: 100%; background: none; } /* タイトル */ .video-inner { position: absolute; top: 0; width: 100%; height: 100%; display: flex; flex-direction: column; justify-content: center; align-items: center; z-index: 1; padding: 1rem; } |
padding-top: 56.25%;
(動画の [縦 ÷ 横 × 100] を 設定する)
JS
1 2 3 4 5 6 7 8 9 10 |
var player = videojs(document.querySelector('video'), { autoplay: true, preload: true, loop: true }); player.ready(function () { player.src({ src: 'https://homemadegarbage.com/demo/assets/mov.mp4' }); }); |
DEMO
(別ウィンドウでCodePenを開いて頂いた方が見やすいです)