見本
説明・補足
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;
}
}