質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
CSS3

CSS(Cascading Style Sheet)の第3版です。CSS3と略されることが多いです。色やデザインを柔軟に変更することが可能になります。

HTML5

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

iframe

HTMLのタグ<iframe>です。<iframe>は、ドキュメント内に""inline frame""を作るHTML要素で、同じページでセパレートしているドキュメントが表示されるようにします。

レスポンシブWebデザイン

レスポンシブWebデザイン(RWD)は、スクリーンのサイズ、プラットフォーム、オリエンテーションに基づいて様々なデバイスで最適のサイトを生成するのウェブデザインとその開発のアプローチ方法を呼びます。

Q&A

解決済

1回答

10006閲覧

HTML5、CSS3上でGoogle mapの埋め込みを中央寄せかつ、縦横比を固定してレスポンシブ対応させたい

TANNNN

総合スコア14

CSS3

CSS(Cascading Style Sheet)の第3版です。CSS3と略されることが多いです。色やデザインを柔軟に変更することが可能になります。

HTML5

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

iframe

HTMLのタグ<iframe>です。<iframe>は、ドキュメント内に""inline frame""を作るHTML要素で、同じページでセパレートしているドキュメントが表示されるようにします。

レスポンシブWebデザイン

レスポンシブWebデザイン(RWD)は、スクリーンのサイズ、プラットフォーム、オリエンテーションに基づいて様々なデバイスで最適のサイトを生成するのウェブデザインとその開発のアプローチ方法を呼びます。

0グッド

0クリップ

投稿2019/06/06 06:07

前提・実現したいこと

HTML5、CSS3上でGoogle mapの埋め込みを中央寄せかつ、縦横比を固定してレスポンシブ対応させたい

発生している問題・エラーメッセージ

縦横比が固定されたまま、画面幅に合わせて縮小、拡大だけをさせること、中央寄せだけをさせることはできているのですが、両方を適用することができません。

以下のコードは、縦横比を固定させて画面幅に合わせて縮小、拡大できる状態です。
HTML5

<section class="access"> <div class="map-container"> <iframe src="https://www.google.com/maps/embed?pb=!1m18!1m12!1m3!1d6493.68550742672!2d135.19397868356944!3d34.6855791619222!2m3!1f0!2f0!3f0!3m2!1i1024!2i768!4f13.1!3m3!1m2!1s0x60008ef78409d861%3A0x27b99d6be70896a4!2z5p2x6YGK5ZyS5Zyw!5e0!3m2!1sja!2sjp!4v1559750440267!5m2!1sja!2sjp" width="800" height="400" frameborder="0" style="border:0" allowfullscreen></iframe> </div> </section>

CSS3

.map-container { position: relative; width: 75%; padding-top: 50%; /* = height ÷ width × 100 */ } .map-container iframe { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }

試したこと

.map-container直下のiframeをblock要素にして、margin:auto;を追加したが、適用されない。
.map-containerにtext-align:center;を追加したが適用されない。
position rightを0にすると、画面幅に合わせて縮小、拡大されない。

補足情報

ブラウザはGoogle chromeを使用しています。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

ビュー系単位とcalc使うのが一番簡単かと

css

1.map-container { 2 position: relative; 3 width: 90vw; /* vwは、ビューの横幅に対して%をとることができる単位 */ 4 margin: 50vh auto 0; /* vhはビューの高さに対して%をとることができる単位 */ 5} 6.map-container iframe { 7 position: absolute; 8 top: -45vw; /* 親が、90vwの状態かつiframeが、横幅に対して、半分の高さで、真ん中に寄せたいため */ 9 left: 0; 10 width: 100%; 11 height: 45vw; /* 親が、90vwなので、その半分の45vw */ 12}

calcいらんですね。

投稿2019/06/06 06:50

編集2019/06/06 07:06
miyabi_takatsuk

総合スコア9528

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

TANNNN

2019/06/07 05:21

回答者様のソースを参考に作ったところ、解決しました!ありがとうございました!
miyabi_takatsuk

2019/06/07 05:25

よかったです! レスポンシブにおいて、相対的にも関わらず、実数で計算されるビュー系単位は、必須かと思います。 これを使えば、下手しい、メディアクエリ無しでも、レイアウト組めます。 どうか、頑張ってください!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問