板川 恵司朗です。
Youtubeの埋め込みをするときって、皆さんはどうやって高さ指定をしてますか?
Youtubeを横幅100%で表示した場合、Youtube側で任意の高さに表示されますし、heightで高さを指定した場合、スマホで閲覧した場合、縦長の動画になったりとなかなか苦労した覚えがあります。
最終的には、JavaScriptで横幅を取得して、それに対しての16:9になるように高さをJavaScriptで設定していたような気がします。
しかし今回、そのYoutbeの埋め込み高さ問題を解決する、コロンブスの卵的な方法がありましたのでご紹介します。
悪い例
先述したように、heightを固定した場合の悪い例です。
この場合、スマホで見た際に残念なことになります。
padding-bottom:56.25%;を使った例
謎にpadding-bottomで%を指定する場合、横幅の100%を基準に算出するようです。そのため、16:9の比率を実現するにはpadding-bottomを56.25%に設定すると簡単に16:9のボックスを作ることができるのです。
.youtube__wrapper{
  position:relative;
  padding-bottom:56.25%;
  width:100%;
  height: 0;
  
  iframe{
    position: absolute;
    top: 0;
    left: 0;
    width:100%;
    height:100%;
  }
}
Youtubeの埋め込みで苦戦されている方はぜひ試してみてください。
参考サイト: https://dev.to/cydstumpel/4-css-tricks-that-will-get-you-dirty-looks-from-other-developers-43d0

