CSS Web制作

【CSS】YouTubeの埋め込み動画をレスポンシブ対応にする方法

※ 当サイトではアフィリエイト広告を利用しています

YouTubeの埋め込み動画って、レスポンシブにできない?

YouTubeの埋め込み動画は、そのままだと画面幅を狭くしても小さくなってくれません。

そこで今回は、アスペクト比を保ったまま、YouTubeの埋め込み動画をレスポンシブ対応にする方法を解説します。

 

完全無料のプログラミングスクール『ZeroPlus Gate』
30日間でWeb制作を学べる無料のプログラミングスクールがこちら
  • 30日間でWeb制作を学べる
  • 完全無料
  • 現役エンジニアへの質問無制限
  • オンラインの動画学習なので時間場所を問わず勉強可能
  • 最大4回の学習サポート面談
  • 受付は1日25名までの先着制
無料なのに専属のメンターが付き、現役エンジニアへの質問も無制限という破格のサービスです。
いきなり数十万するプログラミングスクールは厳しい・・・という人のお試しに最適。
現在は無料ですがいつ有料になるか分からないので、気になる方はお早めに👇

\ 完全無料 /

ZeroPlus Gate公式サイト

先着1日25名まで!

YouTubeの埋め込み動画をレスポンシブ対応にする方法

まずは、YouTubeの埋め込み方を解説します。

埋め込みたい動画を開いたら、『共有』をクリックしてから『埋め込む』をクリックします。

YouTube:『共有』をクリックしてから『埋め込む』をクリック

YouTube:『共有』をクリックしてから『埋め込む』をクリック

そして右下の『コピー』をクリックします。

YouTube:コピーをクリック

YouTube:コピーをクリック

あとはHTMLにコードを貼り付けるだけです。

<iframe
  width="560"
  height="315"
  src="YouTubeのコード"
  title="YouTube video player"
  frameborder="0"
  allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share"
  allowfullscreen
></iframe>

こちらが実際に埋め込んだYouTubeです。

See the Pen
Untitled
by junpei (@junpei-sugiyama)
on CodePen.

ここで左上のHTMLをクリックすると画面幅が狭くなりますが、横スクロールが可能になっただけでレスポンシブにはなっていませんね。

それでは、これからレスポンシブ対応にする方法を2つご紹介します。

まずは、埋め込みコードのwidthheightを削除しておきましょう。

<iframe
  src="YouTubeのコード"
  title="YouTube video player"
  frameborder="0"
  allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share"
  allowfullscreen
></iframe>

これで準備完了です。

 

aspect-ratioを使う方法

まずは、aspect-ratioを使う方法です。

これは、以下のCSSを書けばOKです。

iframe {
  aspect-ratio: 16/9;
  width: 100%;
}

画面幅は100%になっていますが、ここは自由に変えてOKです。

そしてaspect-ratio: 16/9;は、YouTubeのアスペクト比を16:9にしているということです。

もちろん比率を変えることも可能です。

aspect-ratioについては、以下の記事で詳しく解説しています。

あわせて読みたい
CSSのaspect-ratioでアスペクト比を固定してレスポンシブを簡単にする方法
CSSのaspect-ratioでアスペクト比を固定してレスポンシブを簡単にする方法

続きを見る

デモはこちら。

See the Pen
YouTube埋め込み
by junpei (@junpei-sugiyama)
on CodePen.

今度はHTMLをクリックして画面幅を狭くしたら、ちゃんとアスペクト比を保ちながらレスポンシブになっています。

 

padding-topを使う方法

もう一つの方法は、padding-topを使う方法です。

先ほどのaspect-ratioの方がスッキリしていておすすめなので、こちらはおまけです。

まずHTMLですが、divタグで囲みます。

<div class="youtube">
  <iframe
    src="YouTubeのコード"
    title="YouTube video player"
    frameborder="0"
    allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share"
    allowfullscreen
  ></iframe>
</div>

CSSはこちら。

.youtube {
  padding-top: 56.25%;
  position: relative;
}
.youtube iframe {
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
}

padding-top: 56.25%;は、『9 / 16 × 100% = 56.25%』となり、先ほどと同じ16/9になります。

なので、4/3にしたい場合はpadding-top: 75%;になります(3 / 4 × 100% = 75%)

デモはこちら。

See the Pen
Untitled
by junpei (@junpei-sugiyama)
on CodePen.

ちゃんとレスポンシブになっています。

まとめ

今回は、YouTubeの埋め込み動画をレスポンシブ対応にする方法について解説しました。

2つの方法をご紹介しましたが、先ほども書いたようにaspect-ratioを使った方が簡単にできます。

以上になります。

 

Web制作おすすめ教材と案件獲得サービス
当ブログではWeb制作学習におすすめの教材を厳選してご紹介しています。
こちらの記事を参考に教材を購入して成果を出している人もたくさんいるので、自分に必要な教材を探してみて下さい。
また、学習面だけでなく営業面である案件獲得サービスもご紹介しています。
スキルが身についても仕事がなければ意味がないので、営業に不安がある人はこちらの記事をぜひ参考にしてみて下さい。
この記事を参考にスキルと営業力を身につけて稼げるようになりましょう!

-CSS, Web制作