【css】YouTubeのiframe埋め込みをレスポンシブさせる方法 | KonNotes

【css】YouTubeのiframe埋め込みをレスポンシブさせる方法

css
cssWEB制作

1.HTMLの構成

まずは、YouTubeの埋め込みコード(iframe)を、専用のコンテナ(divなど)で囲むのが基本スタイルです。

<div class="video-container">
  <iframe 
    src="https://www.youtube.com/embed/動画ID" 
    title="YouTube video player" 
    frameborder="0" 
    allowfullscreen>
  </iframe>
</div>

2.aspect-ratioを使った書き方

現在、最も推奨されるシンプルな方法です。たった数行で完結します。

.video-container {
  /* 親要素の幅いっぱいに広げる */
  width: 100%;
  /* 16:9の比率を維持する */
  aspect-ratio: 16 / 9;
}

.video-container iframe {
  width: 100%;
  height: 100%;
}
  • aspect-ratio: プロパティ一つで「幅と高さの比率」を固定できます。
  • メリット: 余計な計算が不要で、HTML構造もシンプルに保てます。

3.padding-top使った書き方

古いブラウザ(IEなど)への対応が必要な場合に使う、伝統的な「Padding Hack」と呼ばれる手法です。

.video-container {
  position: relative;
  width: 100%;
  /* 高さ = (9 ÷ 16) × 100 = 56.25% */
  padding-top: 56.25%; 
}

.video-container iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

なぜ padding-top なのか?:

CSSの仕様で、padding を % で指定すると、「親要素の横幅」を基準に計算されるという性質を利用しています。これにより、横幅が伸縮しても常に一定の比率で高さを確保できるのです。


4.比率別・計算シート

YouTube以外の動画や、ショート動画(9:16)などで使える数値表です。

アスペクト比aspect-ratiopadding-top の値用途
16:916 / 956.25%一般的な動画
4:34 / 375.00%昔のテレビ・モニター
9:169 / 16177.77%YouTubeショート・TikTok