
インラインのグーグルマップをレスポンシブ対応にする
ウェブサイトでもよく使われているグーグルマップのインライン埋め込みですが、レスポンシブ対応にするためにはCSSで調整する必要があります。結構増えてきているケースなので備忘録としてのメモです。
グーグルマップのレスポンシブ対応
グーグルマップをレスポンシブ対応させるために、iframeを囲うwrap要素が必要です。それと合わせてiframe自体にもスタイルを適用していきます。以下HTMLとCSSのサンプルです。 【HTML】<div class="googlemap-wrap"> <iframe src="https://www.google.com/maps/embed?pb=*****************" width="1000" height="500" frameborder="0" style="border:0" allowfullscreen></iframe> </div>【CSS】
.googlemap-wrap {
position: relative;
padding-bottom: 50%;
height: 0;
overflow: hidden;
}
.googlemap-wrap iframe {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}
@media (max-width: 576px) {
.googlemap-wrap {
padding-bottom: 100%;
}
}
CSSでグーグルマップwrap要素のpadding-bottomの値で縦横比を調整します。(上記は2:1の比率)また、スマホでの表示で比率を保つと高さも小さくなるので、メディアクエリーでwrap要素のpadding-bottomの値を100%にすることで当初の高さに戻ることができます。サンプルはこちらにあげていますのでご参考に。
(参考)
Googleマップを横幅100%でレスポンシブに表示するcategories
- WordPress(61)
- JavaScript(49)
- Vue.js(48)
- CSS(46)
- jQuery(34)
- Nuxt.js(22)
- Sass(21)
- Gulp(17)
- webpack(16)
- PHP(14)
- HTML(14)
- GSAP(11)
- React(10)
- Vite(9)
- Pug(9)
- Laravel(8)
- Cordova(8)
- Linux(7)
- Next.js(6)
- Apache(5)
- Shopify(4)
- REST API(4)
- Node.js(4)
- Smarty(3)
- Git(3)
- JSON(3)
- その他プログラミング(3)
- Google Apps API(3)
- Bootstrap(3)
- 環境構築・システム(3)
- TypeScript(2)
- EJS(2)
- RMS(2)
- Docker(2)
- Instagram API(2)
- Excel VBA(2)
- SVG(1)
- Dart(1)
- ECカートASP(1)
- Markdown(1)
- AMP(1)
- Nginx(1)
- XML(1)
- shellscript(1)
- Ruby(1)
- MySQL(1)