
HTMLとCSSを使ってレイアウトを整えるうえで欠かせないのが displayプロパティ です。
「要素がなぜ横並びにならない?」「なぜmarginが効かない?」そんなとき、displayが関係しているかもしれません。この記事では、初心者の方に向けてdisplayプロパティの基本とその使い分けをやさしく解説します。
displayとは?
display
は、HTML要素が「どのように表示されるか」を指定するCSSプロパティです。
例えば、段落(p)や見出し(h1など)はデフォルトで「ブロック要素」として表示され、aタグやspanは「インライン要素」として表示されます。
よく使うdisplayの種類
block
:幅いっぱいに表示され、改行されるinline
:テキストと同じ行に表示される(幅や高さの指定ができない)inline-block
:インラインのように並びつつ、サイズ指定もできるflex
:子要素を柔軟に並べる(横並び・縦並びの制御がしやすい)grid
:行と列でレイアウトを組める(複雑な構成に向いている)
block・inline・flexの違いを例で見てみよう
1. blockの例
div
などのブロック要素は、改行されて縦に積み重なります。
<div style="background: lightblue;">ブロック1</div>
<div style="background: lightgreen;">ブロック2</div>
→ 「ブロック1」と「ブロック2」が縦に並びます。
2. inlineの例
span
やタグなどのインライン要素は、テキストのように横に並びます。
<span style="background: pink;">インライン1</span>
<span style="background: yellow;">インライン2</span>
→ 「インライン1」と「インライン2」が横に並びます。
ただし、widthやheightは効きません。
3. flexの例
親要素にdisplay: flex;
を指定すると、子要素が横に並びます。
<div style="display: flex;">
<div style="background: salmon; padding: 10px;">アイテム1</div>
<div style="background: skyblue; padding: 10px;">アイテム2</div>
</div>
→ 柔軟に横並びレイアウトが可能です。gap
で間隔調整もできます。
まとめ
displayは、HTML要素の「振る舞い」を決める大切なプロパティです。
ブロック要素・インライン要素の違いから始めて、flex
やgrid
などの高度なレイアウトも、少しずつ覚えていきましょう。