HTML・はじめの一歩

HTMLファイルの全体の形

タグを書き込む“紙”そのものにも、決まった形があります。htmlの中にheadとbody——すべてのHTMLファイルに共通する外枠を、ここでしっかり。

ここまでで、タグと属性——文章の“中身”を書く道具がそろいました。でもその前に、ひとつ大事なこと。じつはHTMLファイルには、中身を書き込む決まった外枠があります。「じゅんび」で一度チラッと見た、あの型です。ここでちゃんと自分のものにしておきましょう。

これが基本の型

まっさらなHTMLファイルは、いつもこの形から始まります。

<!DOCTYPE html>
<html lang="ja">
  <head>
    <meta charset="UTF-8">
    <title>しまちゃんのホームページ</title>
  </head>
  <body>
    <h1>しまちゃん</h1>
    <p>ここに中身を書いていきます。</p>
  </body>
</html>

パーツごとに見れば、こわくありません。

部分役割
<!DOCTYPE html>「これはHTMLの書類だよ」という最初のあいさつ(1行目のおまじない)
<html>ページ全体を包む、いちばん外側の箱
<head>裏方の情報を書く部屋(タイトルなど。画面には出ない)
<body>画面に見える中身を書く部屋 ←★ここが主役

lang=“ja”は「日本語のページです」の宣言

<html lang="ja">lang="ja" は、前回学んだ属性です。「このページは日本語(ja=japanese)で書かれています」という宣言で、ブラウザや読み上げソフト、検索エンジンへの申し送りになります。英語のページなら lang="en"。日本語のページを作るなら、ja と書いておきましょう。

字下げで「入れ子」を見やすく

基本の型をよく見ると、<head><h1> の行が少し右にずれて書かれています。これはインデント(字下げ)といって、「このタグは、どのタグの中に入っているか」を見た目でわかるようにする書き方です。

  • <head><body> は、<html> の中 → 一段さげる
  • <title><h1> は、さらにその中 → もう一段さげる

字下げしなくても表示は同じです。でも、箱の中に箱が入る入れ子の形が一目でわかるので、閉じタグの書き忘れにもすぐ気づけます。VSCodeなら改行するたびに自動でそろえてくれるので、その形をくずさずに書いていけば大丈夫です。

2つの部屋の役割分担

大事なのは、<head><body> の役割のちがいです。

  • <head>(ヘッド)……ページの設定や裏方の情報。画面には出ません。
  • <body>(ボディ)……実際に画面に映る中身。見出しも段落も画像も、ぜんぶここ。

これまで覚えてきた <h1><p>、これから出てくる画像やリンクも、すべて <body> の中に書きます。

べんりワザEmmetで爆速でHTMLを書く基本の型を一瞬で出すワザのほかにも、タグ打ちがラクになるEmmetの書き方をまとめています2

このレッスンのまとめ

  1. HTMLファイルは <html> の中に <head><body> を持つ
  2. <head> は裏方(画面に出ない)、<body> は表舞台(画面に出る)
  3. 見出し・段落・画像などの中身は、すべて <body> の中に書く
  4. lang="ja" で「日本語のページ」だと宣言し、字下げで入れ子を見やすく

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

これから作る「しまちゃんのホームページ」の 外枠を、index.html に書きましょう。中身(<body> の中)は、これから少しずつ足していきます。

<!DOCTYPE html>
<html lang="ja">
  <head>
    <meta charset="UTF-8">
    <title>しまちゃんのホームページ</title>
  </head>
  <body>
    <h1>しまちゃん</h1>
  </body>
</html>

<title> の「しまちゃんのホームページ」は、ブラウザのタブに出る名前(画面の中には出ません)。<body> の中の <h1>しまちゃん</h1> が、これから育てるページの第一歩です。

よくある質問

DOCTYPEを書き忘れるとどうなりますか?
表示はされますが、ブラウザが昔のページ向けの古い表示モードに切り替わってしまい、思わぬ見た目のズレの原因になります。深く考えず、1行目のおまじないとして必ず書きましょう。
headとbodyの違いはなんですか?
headはタイトルなど裏方の情報を書く部屋で、画面には出ません。bodyは画面に表示される中身を書く部屋です。見出しや段落など、見せたいものはすべてbodyの中に書きます。
lang="ja"は書かないとだめですか?
書かなくても表示はされますが、書いておくと「日本語のページ」だとブラウザや読み上げソフト、検索エンジンに正しく伝わります。日本語のページならjaを指定しておきましょう。