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

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

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

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

HTML5

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

Q&A

1回答

998閲覧

marginの使い方

kaccho

総合スコア0

CSS3

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

HTML5

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

0グッド

0クリップ

投稿2020/05/04 02:06

前提・実現したいこと

marginを使ってナビゲーションの各項目の周りに白い線がある様に
表現したいと考えています。
環境:VSCodeで記述→Chromeで実行

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

上下を区切る部分に白い線が表示されません。

該当のソースコード

HTML

1 <nav> 2 <ul> 3 <li><a href="#">ホーム</a></li> 4 <li><a href="#">お知らせ</a></li> 5 <li><a href="#">製品情報</a></li> 6 <li><a href="#">サービス</a></li> 7 <li><a href="#">会社概要</a></li> 8 <li><a href="#">お問い合わせ</a></li> 9 </ul> 10 </nav>

CSS

1nav ul{ 2 display :grid; 3 grid-template-columns: 1fr 1fr 1fr; 4 grid-template-rows:32px 32px; 5 margin: 36px 2px 2px; 6 padding: 0; 7 } 8 9nav li, nav a{ 10 display: block; 11} 12 13nav a{ 14 text-decoration: none; 15 font-size: 0.9rem; 16 background: #f3f3f3; 17 padding: 0.4rem 0; 18 margin: 2px; 19}

試したこと

CSSコードにて下記の様にliに対して指示するとやりたい事が出来るのですが、
なぜ<a>だと出来なのかわかりません。

nav li{
background: #f3f3f3;
padding: 0.4rem 0;
margin: 2px;
}

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

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

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

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

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

guest

回答1

0

CSSコードにて下記の様にliに対して指示するとやりたい事が出来るのですが、

なぜ<a>だと出来なのかわかりません。

aタグはインライン要素なのでmarginpaddingは効きません。

HTML (Hypertext Markup Language) の要素は従来、「ブロックレベル」要素と「インライン」要素に分類されていました。インライン要素は、コンテンツの流れを分断せずに、要素を定義するタグで囲まれた範囲だけを占有するものです。この記事では、 HTML のインライン要素と、 ブロックレベル要素との違いについて説明します。

インライン要素|MDN

ここにあるブロック要素にしてみるとmarginpaddingを指定することができます。
ブロック要素にするには、最初にdisplayプロパティをblockにする必要があります。

CSS

1nav a { 2 display: block; 3 background: #f3f3f3; 4 padding: 0.4rem 0; 5 margin: 2px; 6}

投稿2020/05/04 02:39

編集2020/05/04 02:40
kai0310

総合スコア2070

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

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

kaccho

2020/05/04 06:28

回答ありがとうございます。 試したことに明記してませんでしたが、 下記コードで既にブロック要素にしております。 (ブロック要素になっているのはディベロッパーツールで確認済) nav li, nav a{ display: block; } 他に思い当たる要因ありませんでしょうか。
kai0310

2020/05/04 07:49

>marginを使ってナビゲーションの各項目の周りに白い線がある様に 表現したいと考えています。 余白ではなく白線をmarginで表現したいのでしょうか?
kaccho

2020/05/05 04:17

表現が誤ってました。すみません。 余白を表現したいと考えております。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問