displayプロパティ

縦に積まれるか横に続くか

要素には生まれつきのならび方がある

HTML の要素は、なにも指定しなくても block と inline のどちらかの性格を持っています。block は h1 や p や div のなかまで、かならず改行して 1 行をまるごと使います。inline は a や span のなかまで、文章の流れのなかに文字と同じようにならびます。この性格を書きかえるのが display プロパティです。

inline に padding がうまく効かない

inline 要素は、自分のために行の高さを押し広げてくれません。上下に padding を足しても、まわりの行はよけてくれず、背景だけが上下の行に重なってはみ出します。左右の padding は効くのに上下だけ様子がちがう、というのが inline のいちばん引っかかるところです。リンクの押せる範囲を縦に広げたいときには困ります。

inline-block に切りかえる

そこで display: inline-block です。横のならび方は inline のまま文章の流れに乗りますが、中身の箱としては block としてふるまうので、上下の padding も width も height もきちんと効きます。ナビのリンクに指定して、指で押しやすい大きさにしましょう。

.site-nav a { display: inline-block; padding: 6px 4px; }

課題

  1. style.css に .site-nav a のルールを追加する
  2. display に inline-block を指定する
  3. padding を上下 6px、左右 4px にする

ヒント

index.html
style.css
プレビュー

できているか

  • ナビのリンクが inline-block になっている
  • ナビのリンクに上下の余白が付いている
  • ナビのリンクに左右の余白が付いている