~margin・paddingの違い、inline-blockまで~
目次
はじめに
Web制作を学び始めると、必ず直面するのが 「ブロックレベル要素」 と 「インライン要素」 の違いです。
- 「divとspanの違いがよく分からない」
- 「marginとpaddingってどう違うの?」
- 「インライン要素に幅や高さを指定しても効かないのはなぜ?」
これらは初心者が必ずつまずくポイントです。
さらに、近年のWeb開発では FlexboxやGrid といったレイアウト技術もよく使われるため、より正確な理解が必要です。
この記事では、ブロック要素とインライン要素の基本 → margin/paddingの違い → inline-blockの活用 までをわかりやすく解説します。
ブロックレベル要素とは
ブロックレベル要素は、「箱」や「段落」としてページを構成する要素です。
主な特徴
- 横幅いっぱいに広がる
- 前後に自動で改行が入る
- margin/paddingが上下左右すべて有効
- ページの構造を形づくる
👉 例:<div>
<p>
<h1>
<section>
<article>
実際のモノに例えると
ノートの「段落」や「章」がブロック要素。
文章が整理されて読みやすくなるのと同じ役割を担います。

インライン要素とは
インライン要素は、文字や小さなパーツとして流れの中に存在する要素です。
主な特徴
- 前後に改行が入らない
- 横方向のmargin/paddingは有効だが、上下は効きにくい
- 主に文字の装飾やリンクに利用
👉 例:<span>
<a>
<strong>
<em>
<img>
実際のモノに例えると
文章の中で強調する「マーカー」や「太字」。
文章全体の流れを止めずに、一部だけ装飾したいときに使います。
marginとpaddingの違い

CSSでよく使う margin と padding。
どちらも「余白」を作りますが、効く場所が違うため初心者が混乱しやすいポイントです。
用語 | 定義 | 影響範囲 | borderとの位置関係 |
---|---|---|---|
margin | 要素の外側にできる余白 | 他の要素との間隔を作る | borderの外側 |
padding | 要素の内側にできる余白 | コンテンツと枠線の距離を作る | borderの内側 |
わかりやすいイメージ
- margin … 「要素と要素の間の空間」。border(枠線)の外にできる余白なので、隣のボックスを押しのける力を持ちます。
- padding … 「要素の内側のクッション」。border(枠線)の内側にできる余白なので、文字や画像を枠線から離す効果があります。
具体例でイメージを深める
たとえば下のようなボックスを考えてみましょう。
.box {
width: 200px;
border: 3px solid blue;
margin: 20px;
padding: 15px;
}
- margin:20px → ボックスの外側に20pxの余白ができ、周りの要素との間隔が広がります。
- padding:15px → ボックス内のテキストが枠線から15pxだけ離れ、読みやすくなります。
👉 borderを境目に、外ならmargin、内ならpadding と覚えると混乱しにくいです。
よくある間違いと注意点
- 「上下の余白が効かない」現象
- インライン要素に
margin-top
やmargin-bottom
を指定しても反映されないことがあります。 - 解決策:
display:inline-block;
を指定する。
- インライン要素に
- marginの相殺(collapse)
- ブロック要素を縦に並べると、上下のmarginが「重なって」思ったより広くなる。
- 解決策:親要素に
padding
をつけるか、overflow:hidden;
を指定する。
ブロック要素一覧(HTML5以降)
要素 | 用途・説明 |
---|---|
<div> | 汎用のブロック要素 |
<p> | 段落 |
<h1> ~<h6> | 見出し(SEO重要) |
<header> | ヘッダー部分 |
<footer> | フッター部分 |
<section> | コンテンツの区切り |
<article> | 独立した記事やコンテンツ |
<aside> | 補足情報(サイドバー等) |
<nav> | ナビゲーション |
<main> | ページの主要部分 |
<form> | 入力フォーム |
<ul> <ol> <li> | リスト |
<table> | 表 |
<figure> | 画像や図表のまとまり |
<blockquote> | 引用 |
<address> | 連絡先情報 |
インライン要素一覧(HTML5以降)
要素 | 用途・説明 |
---|---|
<span> | 部分的な装飾 |
<a> | リンク |
<strong> | 強調(SEOに有効) |
<em> | 斜体による強調 |
<b> | 見た目の太字 |
<i> | 見た目の斜体 |
<u> | 下線 |
<mark> | 蛍光ペン風の強調 |
<time> | 時刻・日付 |
<code> | ソースコード |
<img> | 画像 |
<input> | 入力欄 |
<label> | フォームラベル |
<abbr> | 略語 |
<br> | 改行 |
<small> | 小さな文字 |
<sup> <sub> | 上付き・下付き文字 |
inline-blockという便利な選択肢
「インライン要素に幅や高さをつけたいけど効かない…」というときに役立つのが display:inline-block;
です。
特徴
- インライン要素のように横並びにできる
- ブロック要素のように幅や高さを指定できる
<style>
.inline-box {
display:inline-block;
width:120px;
height:50px;
margin:10px;
padding:10px;
border:1px solid #333;
}
</style>
<div class="inline-box">Box1</div>
<div class="inline-box">Box2</div>
<div class="inline-box">Box3</div>

👉 横並びで整列しつつ、margin・padding・width・heightも有効になります。
SEO観点でのまとめ
検索エンジンは「意味」を理解するためにHTMLを解析しています。
<h1>
はページのタイトル<article>
は記事全体<strong>
は強調されたキーワード<nav>
はナビゲーションメニュー
👉 正しい要素を使うことで、SEOの評価が高まり、検索順位にも良い影響を与えます。
総まとめ
- ブロック要素はページの構造を作る箱
- インライン要素は文章の一部を装飾する
- marginは外側、paddingは内側の余白
- inline-blockを使えば両者のいいとこ取りが可能
- SEO的にも正しいタグ選びは重要
初心者の方は、まず「divは箱、spanは文字の一部」と覚えるところから始め、少しずつ inline-block → Flexbox → Grid と進むと理解が深まります。