X

【コピペで簡単にできる】YouTubeの埋め込みをレスポンシブ対応する方法

YouTubeの埋め込み

自分で作った動画をYouTubeにアップして、ブログでそれを見れるようにしたり、他の人がアップしているYouTube動画を紹介するためにブログに貼り付けたいってこと、あると思います。

そんな時は、YouTubeの「埋め込み」でタグを取得し、ブログ等に貼り付けるだけで簡単にできます。

埋め込み用コードの取得方法は簡単です。

埋め込みたい動画の「共有」を選択します。





表示されるシェア方法選択ポップアップで「埋め込む」を選択すると





↓このように、iframeのコードが表示されるので、これをコピーし、サイトに貼り付ければ完成です。





実際に貼り付けてみると・・・



こうなります。しかし、これだと1つ、問題があります。

レスポンシブな対応ができないんですね。

iframeで「width」を指定しているので、スマホで見たときには固定の横幅のままになってしまい、画面からはみ出してしまいます。

この、iframeでもレスポンシブ、つまり画面サイズに可変されるようにするには、ちょっとした工夫が必要です。

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

結論から紹介すると、下記のようなコードを書けば、レスポンシブ対応が可能です。

まずはhtmlです。

<div class="movie">

  <iframe width="560" height="315" src="https://www.youtube.com/embed/HFlgNoUsr4k" frameborder="0" allowfullscreen></iframe>

</div>

続いて、CSS。

.movie{
  position:relative;
  width:100%;
}

.movie iframe{
  position:absolute;
  top:0;
  right:0;
  width:100%;
  height:100%;
}

codepenで見てみましょう。

See the Pen mqXWvm by yukifujinami (@yfujifuji) on CodePen.0



こんな感じで対応できました。

ポイントは、

1. iframe を囲む要素を作る。上の例では、divで囲っています。cssで指定するために、任意のclass名をつけます。

2. div要素のスタイル、position:relativeを指定、widthを100%にします。

3. iframe のスタイルで、position:absoluteを指定し、位置を固定します。固定する場所は、topとrightを0にするのが良いかと思います。
そして、widthとheightを100%にします。


親要素のdivに合わせて、widthとheightが比率を変えずに可変していくことになり、レスポンシブに表示がされることになります。画面が小さいスマホであれば、iframeも画面に小さくなるなります。

これで、PCでもスマホでも、PPAPがきれいに見れますね!

shirushiru: