【htmlコーディング】レスポンシブ対応!YouTube動画のサムネイルありで、全画面再生させる方法

こんにちは!
「初心者のためのWebデザイナー講座 good-f DESIGN」を運営しているユウです!
Webデザイナーってどんな仕事内容?これからWebデザイナーに挑戦したい!という方に向けて、僕が経験したノウハウやWebの楽しさをお伝えできればと思っています!

今回は、レスポンシブ対応の、YouTube動画のサムネイルありで、全画面再生させる方法をご紹介します。

ライブラリ読み込み

まずはcssとjsのライブラリを読み込む必要があります。
以下3行をhead内に読み込みましょう。

<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/lity/2.3.1/lity.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/lity/2.3.1/lity.js"></script>

cssとjsは、ダウンロードして相対パスで読み込んでも問題ありません。
すでにjQueryを読み込んでいたら必要ありませんが、Versionや読み込む順番に注意しましょう。

htmlの記述方法

必要なライブラリを読み込んだら、htmlを記述していきます。
今回は、YouTubeのサムネイルを表示させた状態で全画面再生させるので、少し工夫が必要です。

<div class="ytube-box">
    <iframe src="https://www.youtube.com/embed/2pzVDV6zT4E" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen data-lity></iframe>
    <a href="//www.youtube.com/watch?v=2pzVDV6zT4E" data-lity></a>
</div>

divで親要素を作り、その子要素としてiframeとaタグを記述します。
ここで変更する箇所は、動画のID部分です。
設置したい動画のIDに変更しましょう。

全画面再生させる仕組みは、「data-lity」で、この記述をするだけで、ライブラリが上手いことやってくれて全画面再生させることができます。

cssの記述方法

サムネイルありの状態だと、cssも必要になります。
下記のように記述します。

.ytube-box {
    display: block;
    position: relative;
    width: 100%;
    margin: auto;
    padding-top: 56.25%;
}
.ytube-box > iframe, .ytube-box > a {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

基本このままで動作するはずです。
iframeとaタグの位置を、absoluteで同じ位置にすることで、aタグをクリックできるようにしています。
動画サイズが気になる場合は、padding-topの調整をしましょう。

最後に

以上、レスポンシブ対応の、YouTube動画のサムネイルありで、全画面再生させる方法をご紹介しました。

意外とサムネイルありで全画面再生するものがないので、参考になれば嬉しいです。

最後までお読みいただきありがとうございました!
ブログ以外にもTwitter、Facebook、YouTube、LINEもやっていますので、見ていただけたら嬉しいです!
何か気になること等あればお気軽にコメントください。

コメント

タイトルとURLをコピーしました