aspect-ratio

見本

説明・補足

aspect-ratioを使ったiframeの埋め込み。
非対応のブラウザ(アップデートされてないiOSのSafariなど…)は従来のpaddingで調整し、対応ブラウザはaspect-ratioで表示されるようにする。
クラス名はお好みで。16/9のみに対応。

HTML

<div class="wrapper">
  <div class="iframe_wrap">
    <iframe width="560" height="315" src="https://www.youtube.com/embed/Cx2dkpBxst8?rel=0" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
  </div>
</div>

CSS

/* 非対応ブラウザ */
.iframe_wrap {
  position: relative;
  padding-bottom: 56.25%;
  height: 0;
  overflow: hidden;
}

.iframe_wrap iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
@supports (aspect-ratio: 16/9) {
  /* 対応ブラウザ */
  .iframe_wrap{
    aspect-ratio: 16/9;
    padding-bottom: initial;
    height: auto;
    overflow: unset;
  }
  .iframe_wrap iframe {
    position: static;
  }
}

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です