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

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

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

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

CSS

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

Q&A

解決済

3回答

5369閲覧

liの大きさがliの中にあるa要素のサイズよりも大きくなってしまう

kihara

総合スコア40

HTML5

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

CSS

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

0グッド

0クリップ

投稿2016/09/24 07:19

編集2016/09/25 01:11

liの中にaタグを入れた

<li><a href="#">~~~~~~~</a></li> という感じのコードなのですが、 a要素の大きさよりもli要素の大きさのほうが少しだけ大きくなってしまいます。 font-sizeをli,aどちらに指定しても同じ結果になりました。 liと中にあるaタグの大きさを揃えるにはどうしたらいいでしょうか? 詳しい方教えていただけるとうれしいです。

追記

ちなみにコードはこんな感じです。
liのpaddingとmarginは0になっています。
liの要素そのものの大きさが少しだけ大きくなっている状態です。

html

1 <nav> 2 <ul id="nav"> 3 <li id="abc"><a href="#">~~~~~</a> 4 </li> 5 <li><a href="#">~~~~~</a> 6 </li> 7 <li ><a href="#">~~~~~</a> 8 </li> 9 <li><a href="#">~~~~~</a> 10 </li> 11 </ul> 12 </nav>

scss

1#nav { 2 width: 100%; 3 padding: 8px 24px; 4 background: #fff; 5 position: fixed; 6 bottom: 0; 7 z-index: 999; 8 display: flex; 9 justify-content: space-between; 10 box-shadow:0 0 30px #ccc; 11 12 li { 13 display:inline-block; 14 padding-left:16px/327px*100%; 15 a{ 16 font-size:14px/375px*100vw; 17 font-weight:bold; 18 } 19 &:first-child { 20 padding-left:0; 21} 22&:nth-child(2) { 23 padding-left:56px/327px*100%; 24} 25 a { 26 color:#000; 27 text-decoration:none; 28} 29} 30#abc a{ color: #cf9d35; } 31}

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

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

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

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

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

kei344

2016/09/24 07:20

具体的にHTMLおよびCSSを質問文に追記いただいたほうが回答を得られやすいと思います。
guest

回答3

0

大きさがボックスの大きさなのか文字の大きさなのか分からないですが、文字は完全にaの中に納まっているのでとりあえずボックスのほうで。

liaの間に隙間ができるという意味であれば、lipadding: 0;を指定してみてください。
それでもダメならadisplay: block;か何かになっていてmarginが効いているのかもしれないので、amargin: 0;を指定してみてください。

投稿2016/09/24 09:07

gin

総合スコア2722

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

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

gin

2016/09/25 03:06

Sassの問題ではないのでコードはCSSにコンパイルしたほうがいいです。 またSassでもSCSSはインデント関係ないとはいえ直感的に分かるようにインデントはそろえたほうがいいです。 ひとまずコードの範囲を見た限りだとfont-sizeが原因のように感じます。 いったん「li」と「li a」に「font-size: 14px !important;」を指定して確認してみてください。 これで収まればここ以外のどこかにfont-sizeがあって継承されているのだと思います。
guest

0

ベストアンサー

たぶんですが、
0. justify-content: space-between; があるから間隔が妙に開く
0. liに padding-left を指定している(これは想定している挙動でしょう)

ということだと思います。均等配置にしたければ flex のほうが簡単な気がします。

CSS

1#nav { 2 box-sizing: border-box; /* add */ 3 justify-content: space-between; /* delete? */ 4}

【これからのCSSレイアウトはFlexboxで決まり! | Webクリエイターボックス】
http://www.webcreatorbox.com/tech/flexbox/

【CSS3のFlexboxを基本から理解して、使い倒そう! | 株式会社LIG】
http://liginc.co.jp/web/html-css/css/21024

投稿2016/09/25 18:30

kei344

総合スコア69416

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

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

0

ブラウザに何を使っているのか分かりませんが、IE なら F12 開発者ツール、Firefox なら firebug を使って html 要素にどのようにスタイルが適用されているか調べられるので、まずは問題の li 要素と a 要素に適用されているスタイルを見比べてください。

たぶん li 要素と a 要素で同じスタイルが適用されてないのだと思います。

F12 開発者ツール or firebug を見れば、どこでそのスタイルが定義されているかが分かるので、それを調べて修正すればよいと思います。

投稿2016/09/24 08:09

退会済みユーザー

退会済みユーザー

総合スコア0

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.47%

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

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

質問する

関連した質問