Youtube動画の埋め込み(iframe)のレスポンシブ対応【CSS】

最終更新日:

公開日:2024-07-19

記事内に広告が含まれています。
Youtube動画の埋め込み(iframe)のレスポンシブ対応【CSS】

Youtube動画の埋め込みをレスポンシブ対応する方法を2種類紹介いたします。
Youtube動画に限らず、iframeであれば可能ですので、ぜひ試してみてください。

aspect-ratioを使用する方法

まずはCSSのaspect-ratioを使用する方法です。
こちらは非常に簡単で、Youtube等から埋め込み用のiframeコードをコピーしHTMLに記述してください。そして以下CSSを記述します。

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

上記のように、aspect-ratio: 16 / 9;とします。これはYoutube動画のアスペクト比となりますので、他のiframe等の埋め込みの際には比率を変更してください

※CSSのaspect-ratioですが、古いブラウザ等対応していないブラウザもありますので使用する際はご注意ください。

paddingハックを使用する方法

続いてpaddingハックを使用する方法です。
paddingハックとは、コンテンツの比率を保つためpaddingで疑似的に高さなどを保つ方法です。今回は高さを保つ為padding-topを使用します。

<div class="frame">
    <iframe width="560" height="315" src="https://www.youtube.com/embed/〇〇〇〇〇〇〇"></iframe>
</div>

まずは、上記のようにiframeを任意のブロック要素(今回はdiv)で囲います。
そしてdivpadding-topを設定し、iframeposition:absolute;で配置します。

.frame {
    width: 100%;
    padding-top: 56.25%; /* アスペクト比 16/9 の場合 */
    position: relative;
}
.frame iframe {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
}

こちらは.framepadding-topでアスペクト比を設定していますので、Youtube以外の場合は必要に応じて変更してください。

さいごに

いかがでしたでしょうか。
アスペクト比さえ決まっていれば簡単にレスポンシブ対応が可能です。ぜひ覚えておきましょう。

おすすめ記事

当ブログ運営者 ヒデ

北海道札幌市在住のフリーランスでWeb制作を行っているヒデです。Webコーディング(HTML・CSS・JSなど)やWordpressのカスタマイズ等のテクニック、困った時に確認できる分かりやすい解説を目標にして情報を発信していければと思っています。

当サイトに関するご意見・ご感想・ご要望または仕事のご依頼は以下のフォームよりお願い致します。

お問い合わせ お仕事のご依頼
PAGE TOP