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

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

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

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

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

Q&A

解決済

1回答

3013閲覧

画像(Googleマップ)がはみ出してしまいます。

pontyan

総合スコア7

HTML5

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

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

0グッド

0クリップ

投稿2020/07/13 11:49

⚫︎前提・実現したいこと
模写サイトのコーディングをしています。
表題の通り、positionを指定したところ、画像右下のmapがはみ出してしまいます。お手数ですが、解決方法をご教授願います。
イメージ説明

⚫︎試したこと
body を width: auto や 親要素を.c-contents などに変えてみたりしましたが、解決できません。
当サイトでも該当する質問を調べましたが、分かりませんでした。

⚫︎補足情報(FW/ツールのバージョンなど)
サイト表示はChromeで、コーディングはVScodeを使用しています。
MacOSです。

⚫︎該当のソースコード
【HTML】

<div class="c-contents"> <div class="c-overview"> <div class="overview"> <dl id="c-inner1"> <dt>会社名</dt> <dd>株式会社ルーシー</dd> </dl> <dl id="c-inner2"> <dt>電話番号</dt> <dd>03−1111−2222</dd> </dl> <dl id="c-inner3"> <dt>住所</dt> <dd>東京都港区西新橋2−7−4 CJビル11階</dd> </dl> </dl> </div> <div class="c-map"> <iframe src="https://www.google.com/maps/embed?pb=!1m14!1m8!1m3!1d2863.543866384293!2d139.75397440092212!3d35.6665692644899!3m2!1i1024!2i768!4f13.1!3m3!1m2!1s0x60188becbbb525c7%3A0x8ee3d7c4e8731e7a!2z5qCq5byP5Lya56S-44Or44O844K344O8!5e0!3m2!1sja!2sjp!4v1594635070962!5m2!1sja!2sjp" width="440" height="450" frameborder="0" style="border:0;" allowfullscreen="" aria-hidden="false" tabindex="0"></iframe> </div> </div> </div>

【CSS】

.c-contents {  width:auto; } .c-overview { width:auto; position: relative; margin: 0; padding: 96px 0; } .overview dl{ overflow: hidden; border-bottom: 1px solid #e5e5e3; } .overview dt { float: left; clear: left; width: 80px; padding: 15px 5px 15px 30px; } .overview dd { float: left; width: 250px; padding: 15px 20px 15px 30px; } .c-map { position: absolute; top: 0; right:0; width: 10%; height: 70%; }

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

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

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

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

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

guest

回答1

0

ベストアンサー

はみだす原因としては、
.c-map の幅を 10% としているのに、その中の iframe の幅を設定してないのでオリジナルの幅で表示されるのでその分はみ出ます。

とりあえず width: 10%; を削除すれば、はみ出さずに表示されます。

css

1.c-map { 2 position: absolute; 3 top: 0; 4 right:0; 5/* width: 10%; 削除 */ 6 height: 70%; 7}

あと、position: relative;の記述位置もおかしいですね。
position: absolute; の基準にしたい親要素に設定する必要があります。
兄弟要素に設定しても無意味です。

投稿2020/07/13 13:27

hatena19

総合スコア34075

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

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

pontyan

2020/07/13 13:34

上記の通りすると、直りました。 .c-contents に position: relative を移動させました。 有難うございます。大変助かりました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問