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

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

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

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

HTML5

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

Q&A

解決済

2回答

8749閲覧

【HTML】aタグによってレイアウトがずれてしまう

near_here

総合スコア1

CSS3

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

HTML5

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

0グッド

0クリップ

投稿2022/03/25 06:41

左側の画像(logo.png)をaタグで囲むと、二枚目の画像のようにリンクの範囲が横に大きくなってしまい、右側のリンクが潰されて改行されてしまいます。
なぜこのように変化してしまうのか、また、この解決策をご教授ください。

aタグで囲む前
イメージ説明

aタグで囲む後
イメージ説明

HTML

<header> <a href="index.html"><img src="logo.png" alt="ロゴ"></a> <nav> <ul> <li><a href="time.html">営業時間</a></li> <li><a href="guide.html">フロアガイド</a></li> <li><a href="access.html">交通アクセス</a></li> <li><a href="sale.html">お得なポイント</a></li> <li><a href="corp.html">運営企業</a></li> </ul> </nav> </header>

CSS

@charset "utf-8"; * { margin:0; padding:0; box-sizing: border-box; } html { overflow-y:scroll; scroll-behavior: smooth; } body{ background-color: #ffffff; font-size: 95%; font-family: "BIZ UDPゴシック", Verdana, "Roboto", "Droid Sans", "游ゴシック", "YuGothic", "メイリオ", "Meiryo", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "MS Pゴシック", sans-serif; line-height: 150%; color: white; } a{ text-decoration: none; color: #eeeeee; } a:hover{ text-decoration: underline; } /*ヘッダー*/ header { padding: 1% 6% 1%; position: fixed; top: 0; width: 100%; background-color: #2c2c2c; display: flex; align-items: center; } header img{ margin: 0; padding: 0; width: 20%; } header a{ display: block; } header a:hover{ text-decoration: underline; } nav { margin: 0 0 0 auto; } ul { list-style: none; margin: 0; display: flex; } li { text-decoration: none; margin: 0 0 0 15px; font-size: 14px; }

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

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

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

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

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

guest

回答2

0

aリンク幅が広がってしまうのは、aリンクには幅が設定されていなくて、子要素のimgにwidth: 20%;が設定されているからですね。

ご希望のことは、ロゴ画像を画面幅の20%にして、そのうえで、aリンク幅と画像幅を同じにしたいということでしょうか。

もし、そうなら、aリンクの幅を20%にして、画像幅は100%にしてaリンク幅に合わせればいいでしょう。

css

1header img{ 2 margin: 0; padding: 0; 3 width: 100%; 4} 5header a{ 6 width: 20%; 7}

投稿2022/03/25 08:47

hatena19

総合スコア33759

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

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

0

ベストアンサー

親要素をFlex指定しているので自動でコンテンツ幅に収まるように伸びていますね。
要素をふやしていいなら手っ取り早いのはaタグをさらに囲んでinline要素にする感じでしょうか。

html

1<div><a href="index.html"><img src="logo.png" alt="ロゴ"></a></div>

css

1header a{ 2 display: inline; 3} 4コード

投稿2022/03/25 07:11

gogoweb_ikeda

総合スコア1426

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.47%

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

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

質問する

関連した質問