【CSS】ブロック要素とインライン要素(divタグとspanタグなど)の違いと使い分け

htmlタグと言えば

<div>内容</div>

のように、「内容」に記述された内容に対して何かをするという書き方が基本ですね。このタグには大きく分けてブロック要素を持つタグとインライン要素を持つタグがあるのをご存じですか?

どちらの要素のタグも中にデザイン要素やCSSの呼び出しなどさまざまなことができることに違いはないのですが、この2つには決定的な違いがあるのです。

ざっくりした定義ですが、認識としてこれで間違いないのは

  • ブロック要素を持つタグは前後に改行が入る
  • インライン要素を持つタグは前後に改行が入らない

ということです。対になるタグが全てあるわけではありませんが、ブロック要素を持つタグとインライン要素を持つタグの代表的なものを紹介します。

よく言われるのはdivタグとspanタグの使い分けです。どちらも「かたまり」を定義するタグなのですが、前述したように前後に改行が入るか入らないかという違いがあります。要するに
divタグ=/br+span+/br
と同様の表示結果になるということです。厳密に言えば違いがあるかもしれませんが、使い分けとしてはこんな認識で間違いないと思います。

ブロック要素の例

  • 段落 P
  • 見出し Hn
  • 順序なし箇条書き UL
  • 順序あり箇条書き OL
  • 引用 BLOCKQUOTE
  • 水平線 HR

これらのタグは前後に必ず改行が入るため、文章の途中にタグを挿入しても必ず次の行の先頭から表示されます

インライン要素の例

  • 太字 B
  • 斜体 I
  • 強調 EM
  • 強い強調 STRONG
  • 文中での引用 Q
  • 画像 IMG

これらのタグは改行が入らないため文章の中で特定の部分を装飾したりする場合に使用します。

トップへ戻る