CODEMemorandum

Googleマップをレスポンシブ対応で埋め込む

aspect-ratioでアスペクト比を指定する

IEのサポートが終了したので、もう aspect-ratioを使う方法でよいのではないでしょうか。

<div class="map">
  <iframe src="https://www.google.com/maps/embed?pb=!1m18!1m12!1m3!1d3240.8240252754226!2d139.764370915612!3d35.681334787572936!2m3!1f0!2f0!3f0!3m2!1i1024!2i768!4f13.1!3m3!1m2!1s0x60188bfbd89f700b%3A0x277c49ba34ed38!2z5p2x5Lqs6aeF!5e0!3m2!1sja!2sjp!4v1670477156020!5m2!1sja!2sjp" style="border:0;" allowfullscreen="" loading="lazy" referrerpolicy="no-referrer-when-downgrade"></iframe>
</div>
.map iframe {
  width: 100%;
  aspect-ratio: 16 / 9;
}

こんな感じになります。

aspect-ratioを使わない書き方

もしかするとまだ何かあるかもしれないので、念のため、aspect-ratio を使わない書き方もメモ。

.map {
  height: 0;
  overflow: hidden;
  padding-bottom: 56.25%;
    /*アスペクト比が16:9の場合は 9/16*100=56.25 で56.25% */
  position: relative;
  width: 100%;
}

.map iframe {
  position: absolute;
    left: 0;
    top: 0;
  height: 100%;
  width: 100%;
}