まず結論(1行)
見出し(h1〜h6)を正しく使うと、ページの「目次」が自動で整い、読みやすさ・SEO・アクセシビリティが一気に良くなります。
最小の書き方(コピペで動く最小コード)
HTMLCode
<!doctype html>
<html lang="ja">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>見出しの基本</title>
</head>
<body>
<h1>カレーの作り方</h1>
<h2>材料</h2>
<p>玉ねぎ、肉、ルー、水…</p>
<h2>手順</h2>
<h3>1. 炒める</h3>
<p>玉ねぎを色づくまで炒めます。</p>
<h3>2. 煮込む</h3>
<p>具材と水を入れて煮込みます。</p>
</body>
</html>
Previewdesktop
HTMLCode
<!doctype html>
<html lang="ja">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>見出しの基本</title>
</head>
<body>
<h1>カレーの作り方</h1>
<h2>材料</h2>
<p>玉ねぎ、肉、ルー、水…</p>
<h2>手順</h2>
<h3>1. 炒める</h3>
<p>玉ねぎを色づくまで炒めます。</p>
<h3>2. 煮込む</h3>
<p>具材と水を入れて煮込みます。</p>
</body>
</html>
Preview を表示
重要ポイント(初心者が迷う所だけ)
- h1はページの主題(基本1つ):そのページが「何のページか」を一言で表す。
- 見出しは階層(親→子):h2の下にh3、h3の下にh4…のように段差を守る。
- “大きさ”のために使わない:文字を大きくしたいだけならCSSで調整。
- 見出しの直後は本文(pなど):見出しだけが連続すると内容が薄く感じられる。
例で理解(よく使うパターン:4つ)
1) ブログ記事(定番)
HTMLCode
<h1>旅行の持ち物チェック</h1>
<h2>必須</h2>
<p>財布、スマホ、身分証…</p>
<h2>あると便利</h2>
<p>モバイルバッテリー、折りたたみ傘…</p>
Previewdesktop
HTMLCode
<h1>旅行の持ち物チェック</h1>
<h2>必須</h2>
<p>財布、スマホ、身分証…</p>
<h2>あると便利</h2>
<p>モバイルバッテリー、折りたたみ傘…</p>
Preview を表示
2) FAQ(質問=見出し、回答=本文)
HTMLCode
<h2>よくある質問</h2>
<h3>Q. 返品できますか?</h3>
<p>A. 未使用なら到着後7日以内に可能です。</p>
Previewdesktop
HTMLCode
<h2>よくある質問</h2>
<h3>Q. 返品できますか?</h3>
<p>A. 未使用なら到着後7日以内に可能です。</p>
Preview を表示
3) 長いページの「章→節」
HTMLCode
<h1>サービスの使い方</h1>
<h2>はじめに</h2>
<h2>登録</h2>
<h3>メールアドレス</h3>
<h3>パスワード</h3>
Previewdesktop
HTMLCode
<h1>サービスの使い方</h1>
<h2>はじめに</h2>
<h2>登録</h2>
<h3>メールアドレス</h3>
<h3>パスワード</h3>
Preview を表示
4) カードUI内の見出し(小さく見せたいとき)
HTMLCode
<section>
<h2>新着記事</h2>
<article>
<h3>時短レシピ3選</h3>
<p>忙しい日に助かる…</p>
</article>
</section>
Previewdesktop
HTMLCode
<section>
<h2>新着記事</h2>
<article>
<h3>時短レシピ3選</h3>
<p>忙しい日に助かる…</p>
</article>
</section>
Preview を表示
小さく見せたいなら h3 を h4 に落とすのではなく、CSSでサイズを調整するのが基本。
使い分け(似た要素との違い)
- 見出し(h1〜h6):ページ構造の「章タイトル」。検索・読み上げ・目次の基準になる。
- ただの強調(strong / em):文章内の強調。章立てにはならない。
- 見た目調整(CSS):フォントサイズや余白はここでやる。
実務のコツ(SEO・安全・アクセシビリティ)
- 見出しだけ読んでも内容が追えるようにする(見出しが目次になる)。
- h2の粒度を揃える:章の分け方がブレると読みにくい。
- 画面読み上げでは見出しジャンプが多い:見出しの順序が崩れると迷子になりやすい。
NG・禁止例(なぜダメ?どう直す?)
1) いきなりh3から始める(階層飛ばし)
HTMLCode
<h3>概要</h3>
Previewdesktop
HTMLCode
<h3>概要</h3>
Preview を表示
→ ✅ まず h1、章なら h2 を使う
2) h2の次がh4(段差飛ばし)
HTMLCode
<h2>手順</h2>
<h4>1. 準備</h4>
Previewdesktop
HTMLCode
<h2>手順</h2>
<h4>1. 準備</h4>
Preview を表示
→ ✅ h3 にする
3) 大きくしたいだけで見出しを使う
HTMLCode
<h1>注意事項(見た目を大きくしたいだけ)</h1>
Previewdesktop
HTMLCode
<h1>注意事項(見た目を大きくしたいだけ)</h1>
Preview を表示
→ ✅ 構造上の主題でないなら p や strong + CSS で調整
4) 見出しが連続して本文がない
HTMLCode
<h2>材料</h2>
<h2>手順</h2>
Previewdesktop
HTMLCode
<h2>材料</h2>
<h2>手順</h2>
Preview を表示
→ ✅ それぞれに短くても説明文を付ける
見た目を整える(HTML+CSSセット:3例)
例1:見出しの余白と読みやすさを整える
例1:見出しの余白と読みやすさを整える
HTMLCode
<main class="doc">
<h1 class="doc__title">見出しのルール</h1>
<h2 class="doc__h2">基本</h2>
<p>見出しは構造を作ります。</p>
</main>CSSCode
.doc {
max-width: 760px;
margin: 0 auto;
padding: 24px;
line-height: 1.8;
}
.doc__title {
margin: 0 0 18px;
}
.doc__h2 {
margin: 28px 0 10px;
padding-bottom: 8px;
border-bottom: 1px solid currentColor;
}Previewdesktop
HTMLCode
<main class="doc">
<h1 class="doc__title">見出しのルール</h1>
<h2 class="doc__h2">基本</h2>
<p>見出しは構造を作ります。</p>
</main>CSSCode
.doc {
max-width: 760px;
margin: 0 auto;
padding: 24px;
line-height: 1.8;
}
.doc__title {
margin: 0 0 18px;
}
.doc__h2 {
margin: 28px 0 10px;
padding-bottom: 8px;
border-bottom: 1px solid currentColor;
}Preview を表示
例2:目次っぽいナビ(見出しと相性が良い)
例2:目次っぽいナビ(見出しと相性が良い)
HTMLCode
<nav class="toc" aria-label="目次">
<a class="toc__link" href="#mat">材料</a>
<a class="toc__link" href="#steps">手順</a>
</nav>
<h1>カレーの作り方</h1>
<h2 id="mat">材料</h2>
<p>…</p>
<h2 id="steps">手順</h2>
<p>…</p>CSSCode
.toc {
display: flex;
gap: 12px;
padding: 12px;
border: 1px solid currentColor;
border-radius: 14px;
}
.toc__link {
text-decoration: underline;
text-underline-offset: 4px;
}
.toc__link:hover {
opacity: 0.7;
}Previewdesktop
HTMLCode
<nav class="toc" aria-label="目次">
<a class="toc__link" href="#mat">材料</a>
<a class="toc__link" href="#steps">手順</a>
</nav>
<h1>カレーの作り方</h1>
<h2 id="mat">材料</h2>
<p>…</p>
<h2 id="steps">手順</h2>
<p>…</p>CSSCode
.toc {
display: flex;
gap: 12px;
padding: 12px;
border: 1px solid currentColor;
border-radius: 14px;
}
.toc__link {
text-decoration: underline;
text-underline-offset: 4px;
}
.toc__link:hover {
opacity: 0.7;
}Preview を表示
例3:カード内の見出しを小さく見せる(構造は保つ)
例3:カード内の見出しを小さく見せる(構造は保つ)
HTMLCode
<article class="card">
<h3 class="card__title">時短レシピ3選</h3>
<p>10分で作れるメニュー…</p>
</article>CSSCode
.card {
border: 1px solid currentColor;
border-radius: 18px;
padding: 16px;
box-shadow: 0 8px 22px rgba(0, 0, 0, 0.06);
}
.card__title {
margin: 0 0 8px;
font-size: 1.05rem; /* 見た目はCSSで小さく */
}Previewdesktop
HTMLCode
<article class="card">
<h3 class="card__title">時短レシピ3選</h3>
<p>10分で作れるメニュー…</p>
</article>CSSCode
.card {
border: 1px solid currentColor;
border-radius: 18px;
padding: 16px;
box-shadow: 0 8px 22px rgba(0, 0, 0, 0.06);
}
.card__title {
margin: 0 0 8px;
font-size: 1.05rem; /* 見た目はCSSで小さく */
}Preview を表示
理解チェック(3問・答え付き)
Q. h1は基本いくつ置く?
A. 基本は1つ(そのページの主題)。
Q. h2の直下に置くべき見出しは?
A. h3(階層を飛ばさない)。
Q. 見出しを「文字を大きくするため」に使っていい?
A. ダメ(見た目はCSS、見出しは構造)。
ミニ演習(すぐ試せる小課題)
- 「自己紹介ページ」を作り、h1=名前、h2=趣味 / 経歴 / 連絡先 のように章立てしてみよう。
- h2の下にh3を2つ作り(例:趣味→ゲーム/料理)、階層が崩れていないか確認しよう。