JavaScript | HTML / CSS 連携:HTML基礎 - body要素

JavaScript JavaScript
スポンサーリンク

body 要素は「ユーザーが実際に触る“本体”」

HTML 全体を家にたとえると、
<!DOCTYPE html> は「これは家ですよ」の宣言、
<html> は家全体の外枠、
<head> は電気・住所・設定が書かれた“裏方”、
そして <body>「人が実際に住む・使う空間」 です。

ユーザーの目に見えるもの
ユーザーがクリック・入力・スクロールするもの
JavaScript が操作する対象

こういった「コンテンツの本体」は、すべて <body> の中に入ります。


body 要素の位置と“役割の境界線”

HTML 全体の中での body の場所

基本形をもう一度見てみます。

<!DOCTYPE html>
<html lang="ja">
  <head>
    <meta charset="UTF-8">
    <title>サンプルページ</title>
  </head>
  <body>
    <h1>こんにちは</h1>
    <p>これは body 要素の中身です。</p>
  </body>
</html>

ここでの役割分担はこうです。

head
ページの設定・メタ情報(タイトル、文字コード、CSS の読み込みなど)

body
画面に表示される中身(見出し、文章、画像、ボタンなど)

この「head は設定、body は中身」という境界線を
はっきり意識できると、HTML の設計が一気にきれいになります。


body の中に入るもの:画面に見える“コンテンツ全部”

見出し・本文・画像・リンク・ボタン…

<body> の中には、
ユーザーが実際に目にする・触る要素を置きます。

例えば、簡単な自己紹介ページならこうなります。

<body>
  <h1>山田太郎のポートフォリオ</h1>

  <h2>プロフィール</h2>
  <p>東京在住のフロントエンドエンジニアです。</p>

  <h2>スキル</h2>
  <p>JavaScript / HTML / CSS を中心に開発しています。</p>

  <h2>リンク</h2>
  <p>
    <a href="https://example.com">ブログはこちら</a>
  </p>
</body>

ここに出てくるタグはすべて「コンテンツ」です。

見出し
段落
リンク

これらは、
「ユーザーに見せたい情報」なので body の中に置く
と覚えてください。

逆に、<meta><title> のような「設定」は
絶対に <body> に入れません。


body と JavaScript の関係:ここが“操作対象”になる

DOM 操作のほとんどは body の中を触る

JavaScript でよくやるのは、
document.querySelector などで要素を取ってきて、
中身を書き換えたり、イベントを付けたりすることです。

その対象になるのは、ほぼすべて <body> の中の要素です。

例:ボタンを押したらメッセージを表示する

HTML:

<body>
  <h1>ボタンの練習</h1>
  <button id="helloBtn">あいさつする</button>
  <p id="message"></p>
</body>

JavaScript:

const btn = document.querySelector("#helloBtn");
const message = document.querySelector("#message");

btn.addEventListener("click", () => {
  message.textContent = "こんにちは!JavaScript からのメッセージです。";
});
JavaScript

ここで JavaScript が触っているのは、
<button><p>、どちらも <body> の中の要素です。

つまり、
「JavaScript が動きを付ける舞台が body」
というイメージを持つと分かりやすいです。


body に“入れてはいけないもの”も理解しておく

設定系(meta、title、link など)は NG

<body> はコンテンツの場所なので、
次のようなものは入れません。

<meta>
<title>
<link rel="stylesheet">
<script>(※置けるが、基本は head か body の末尾で意図的に使う)

悪い例:

<body>
  <meta charset="UTF-8">
  <title>ダメな例</title>
  <h1>こんにちは</h1>
</body>

<meta><title>
「ページの設定」なので head に置くべきもの です。

正しい形:

<head>
  <meta charset="UTF-8">
  <title>正しい例</title>
</head>
<body>
  <h1>こんにちは</h1>
</body>

「これはユーザーに見せる中身か?
それともページの設定か?」
と自分に問いかけて、
中身なら body、設定なら head に置く、
という癖をつけると整理がうまくいきます。


body は「1 ページに 1 つだけ」の特別な要素

ネストしたり、複数作ったりはしない

HTML では、
<div><section> はいくつでも作れますが、
<body>1 ページに 1 つだけ です。

悪い例:

<body>
  <h1>メイン</h1>
</body>

<body>
  <h1>サブ</h1>
</body>

これは HTML として不正です。

ページ全体を包む「本文の箱」は一つだけ、
その中を <header><main><footer><section> などで
細かく分けていく、というイメージです。

例:

<body>
  <header>
    <h1>My Site</h1>
  </header>

  <main>
    <h2>お知らせ</h2>
    <p>新メニューを追加しました。</p>
  </main>

  <footer>
    <p>&copy; 2026 My Site</p>
  </footer>
</body>

<body> は「ページの本文全体を包む一番大きな箱」
その中でさらに意味ごとに箱を分けていく、
という構造を意識できると、
HTML の設計がぐっとプロっぽくなります。


初心者として「body 要素」で掴んでほしいこと

<body> は、
「ユーザーが実際に見る・触るコンテンツのすべてを入れる場所」 です。

head は設定、body は中身
見出し・本文・画像・リンク・ボタンなどは全部 body の中
JavaScript が操作する DOM のほとんどは body の中の要素
meta や title など“設定系”は絶対に body に入れない
body は 1 ページに 1 つだけ。中でさらに意味ごとに分割していく

あなたが HTML を書くときに、
「これはユーザーの目に見えるものか?
それとも裏方の設定か?」と一度考えて、
自然に body / head を選べるようになったら、
もう“タグを並べる人”ではなく“構造を設計する人”になり始めています。

タイトルとURLをコピーしました