HTML・ページ全体を組む

ページの骨組みをつくろう

divは意味を持たない箱でした。でもページの大きなパーツ——上のヘッダー、メニュー、本文、下——には“意味を持つ箱”がある。ページの骨組みを組もう。

<div> で「まとめる箱」を覚えました。でも <div>意味を持たない箱でしたね。じつはページの大きなパーツ——上のヘッダー、メニュー、本文、下のフッター——には、それぞれ意味を持つ専用の箱があります。<div> の“意味つき版”だと思ってください。

ページは4つの部屋でできている

多くのページは、大きく見るとこの4つの部屋でできています。

タグ役割(どの部屋か)
<header>ページの。ロゴやサイト名を置く
<nav>メニュー。他のページへのリンクを並べる
<main>本文。そのページの主役の中身
<footer>ページの。コピーライトや連絡先など

組み立てると、こんな骨組みになります。

<body>
  <header>
    しまちゃん
    <nav>
      <a href="#about">じこしょうかい</a>
      <a href="#likes">すきなもの</a>
      <a href="#contact">れんらく</a>
    </nav>
  </header>

  <main>
    <h2>じこしょうかい</h2>
    <p>おえかきとラーメンがすきなしまです。</p>
  </main>

  <footer>
    <p>© 2026 しまちゃん</p>
  </footer>
</body>

<div> で全部囲んでも、見た目はまったく同じです。でも役割の名前がついているぶん、この骨組みのほうがずっと読みやすいですよね。

もっと細かく区切るsectionとarticle

<main> の中身をさらに区切りたいときは、<section>(意味のあるひとかたまり)や <article>(それ単体で完結する記事)も使えます。

<main>
  <section id="likes">
    <h2>すきなもの</h2>
    <ul>
      <li>おえかき</li>
      <li>ラーメン</li>
    </ul>
  </section>
</main>

今は「本文の中も、意味のかたまりで区切れる」とだけ知っておけば十分です。

CSSFlexboxで横に並べるこの4つの部屋を「横に並べる」「真ん中に寄せる」——思いどおりに配置するのは、ずっと先のCSSのレイアウトのお仕事です

このレッスンのまとめ

  1. <header><nav><main><footer> はページを役割ごとに分ける“意味のある箱”
  2. <main> は1ページに1つ。本文の中は <section> でさらに区切れる
  3. 見た目はdivと同じでも、検索エンジンや読み上げソフトにやさしい

やってみよう:しまちゃんページの骨組み

これまでバラバラに書いてきたしまちゃんのページを、部屋ごとに箱で囲みましょう。上に <header>(ロゴ+メニュー)、真ん中に <main>、パーツごとに <section>、下に <footer>

<body>
  <header>
    しまちゃん
    <nav>
      <a href="#about">じこしょうかい</a>
      <a href="#likes">すきなもの</a>
      <a href="#contact">れんらく</a>
    </nav>
  </header>

  <main>
    <section id="about">
      <h2>じこしょうかい</h2>
      <p>こんにちは! しまちゃんといいます。おえかきするのがだいすきで、しゅうまつはよくラーメンをたべにいきます。</p>
    </section>

    <section id="likes">
      <h2>すきなもの</h2>
      <ul>
        <li>🎨 おえかき</li>
        <li>🍜 ラーメン</li>
        <li>🎮 ゲーム</li>
        <li>🐤 しま</li>
      </ul>
    </section>

    <section id="contact">
      <h2>れんらく</h2>
    </section>
  </main>

  <footer>
    <p>© 2026 しまちゃん</p>
  </footer>
</body>

id="contact" の「れんらく」の部屋は、いまは見出しだけ。中身(おたよりフォーム)は、あとの章で足していきます。上のメニューの #contact リンクも、これでちゃんと飛び先ができました。

見た目はまだ変わりませんが、これでページが「ヘッダー・本文・フッター」の部屋に分かれました。この“部屋”が、CSSコースで カードや横並びになっていきます。