LoginSignup
0
0

More than 5 years have passed since last update.

youtubeの埋め込み動画を、一行でwebサイトの横幅に合わせるCSS

Last updated at Posted at 2018-08-10

三行で解説

  • youtubeの埋め込み動画の横幅が、webサイトより大きくなる原因は、iframeのwidth指定が原因
  • よっぽど変な組み方のHTMLやCSSでない限り、以下のCSSを入れることで解決するはず
  • iframe[src^="https://www.youtube.com/embed/"] { max-width: 100%; }

もうちょっと細かく解説

 youtubeの動画から埋め込みコードを取得すると、以下のようなHTMLタグがコピーされる。

youtubeで、右クリック→埋め込みコードをコピーにより取得できるタグ(見やすさのため、途中で改行)
<iframe width="1133" height="637" src="https://www.youtube.com/embed/f0RJ1_709DY" 
frameborder="0" allow="autoplay; encrypted-media" allowfullscreen></iframe>

 これをそのままコピペすると、サイトの造り(特にスマホ)によっては枠の横幅をはみ出すことがある。

・yotubeの埋め込み動画が、枠をはみ出すイメージ図
image.png

 デベロッパーツールで試した感じ、<iframe>にwidth系のCSSを適用したら解決しそうな感じだった。
 ただ、そのためにclassを追加したり、親<div>を作るのは嫌なので、youtubeの<iframe>のみに適用する方法を検討した。
 その結果、以下のCSSを入れることで、対応できた。

youtubeの埋め込み動画を、枠からはみ出させないCSS
iframe[src^="https://www.youtube.com/embed/"] {
 max-width: 100%;
}

 httpや//で参照したり、他のドメインの埋め込み動画だった場合は、このままだと適用されません。
 余程変なことでもない限り、既存のCSSには影響はしないはず。
 height:auto;を入れても良い気はするけれど、自分が試した範囲では動画がとても小さくなった。

備考

 投稿の直前に、念のため既存のqiita記事を探してみたら、既に既出だった。

Youtubeの埋め込みタグを編集せずにレスポンシブ化
 https://qiita.com/torosalmon/items/e65ed8fcf61c2e5ff8ee#3

 削除するのも勿体ないので、このまま投稿。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0