
「Webサイトって、どうやって作られているの?」
Web制作の世界への第一歩を踏み出そうとするとき、誰もが最初に出会う、最も基本的で、最も重要な言語。それが**「HTML(エイチ・ティー・エム・エル)」**です。
一言でいうと、HTMLとは**「Webページの『骨格』や『構造』を作るための、コンピューターに対する『マークアップ言語』」**のことです。
この記事では、プログラミング知識ゼロの初心者の方でも、HTMLの本質がスッキリと理解できるように、**「家づくり」**に例えながら、わかりやすく徹底的に解説していきます。
すべてのWebページの素となっている、このシンプルな言語の世界をマスターしましょう。
-
HTMLの役割と、プログラミング言語との違い
-
HTMLの基本要素「タグ」の書き方
-
Webページの基本的な構造
-
相棒である「CSS」と「JavaScript」との関係
HTMLの正体:Webページの「骨格」を作る言語
まず、HTMLはHyperText Markup Languageの略です。
これを理解するために、家づくりを想像してみてください。
家を建てるには、まず柱を立て、梁を渡し、壁や床、屋根といった**「骨格」**を作りますよね。
Webページも同じです。私たちが普段見ているWebページは、
-
「これは、一番大事な大見出しです」
-
「ここは、普通の**文章(段落)**です」
-
「ここに画像を配置します」
-
「このテキストは、他のページへのリンクです」
といった、様々な「部品」の集まりでできています。
HTMLの役割は、これらの部品が、ページの中で**「構造上、どんな意味を持つのか」を、コンピューター(Webブラウザ)に正確に伝えることです。
「マークアップ言語」って何?プログラミング言語との違いは?
ここで重要なポイントがあります。HTMLは、厳密には「プログラミング言語」ではありません。**「マークアップ言語」**に分類されます。
-
プログラミング言語(例:JavaScript, Python)
-
役割:条件分岐(もしAならBする)や、繰り返しといった「ロジック(論理)」を組み立て、コンピューターに複雑な「処理」を命令する。
-
例えるなら:家に設置する、エアコンや自動ドアといった「動く機械」を作るための言語。
-
-
マークアップ言語(例:HTML)
-
役割:文章や画像などのコンテンツに、「これは見出し」「これは段落」といった**「意味(印)」をマークアップ(目印づけ)**していく。
-
例えるなら:家の「柱」「壁」「ドア」といった、動かない**「構造物」**を作るための言語。
-
HTMLの基本文法:「タグ」で囲んで、意味を与える
では、どうやってHTMLは「意味」を定義していくのでしょうか。そのために使われるのが**「タグ(Tag)」**です。
タグとは、**< >(小なり、大なり)**の記号で囲まれた、キーワードのことです。
基本的に、開始タグ (<p>) と 終了タグ (</p>) のペアで、コンテンツを囲みます。
【例:段落を作る <p> タグ】
<p>こんにちは、世界!</p>
-
<p>:ここからが段落(Paragraph)の始まりですよ、という開始タグ。
-
こんにちは、世界!:タグで囲まれる、実際のコンテンツ。
-
</p>:ここで段落が終わりですよ、という終了タグ。(スラッシュ/が目印)
よく使う、基本的なHTMLタグ
タグ | 意味 | 表示例 |
<h1> ~ <h6> | 見出し (h1が一番大きい) | 見出し1 |
<p> | 段落 | これは段落です。 |
<a> | リンク | Googleへのリンク |
<img> | 画像 | (画像が表示される) |
<ul>, <li> | 箇条書きリスト | ・りんご<br>・ばなな |
<strong> | 太字(重要性を強調) | 重要なテキスト |
タグに「属性」を追加して、情報を与える
タグには**「属性(Attribute)」を追加することで、さらに詳細な情報を与えることができます。属性は、属性名=”値”** の形式で、開始タグの中に記述します。
【例:リンク先を指定する href 属性】
<a href="https://www.google.com/">Googleへのリンク</a>
-
<a>タグだけでは、どこへのリンクか分かりません。
-
href=”https://www.google.com/”という属性を追加することで、「このリンクは、https://www.google.com/に飛びますよ」という情報を与えています。hrefは、リンク先を指定するための属性名です。
【例:画像の場所を指定する src 属性】
<img src="inu.jpg" alt="かわいい犬の画像">
-
<img>タグは、珍しく終了タグが必要ありません。
-
src=”inu.jpg”:表示する画像の場所(ソース/Source)を指定しています。
-
alt=”かわいい犬の画像”:画像が表示されなかった場合に代わりに表示されるテキスト(代替テキスト)です。SEOやアクセシビリティの観点から非常に重要です。
Webページの基本的な構造:すべてのHTMLに共通する「お作法」
個別のタグを覚えるのと同じくらい重要なのが、HTMLファイル全体の**「基本的な構造」**を理解することです。
これは、どんなWebページでも共通する、お決まりの型のようなものです。
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF--8">
<title>ページのタイトル</title>
</head>
<body>
<!-- ここに、実際にブラウザに表示される内容を書く -->
<h1>こんにちは!</h1>
<p>これは私の最初のWebページです。</p>
<img src="photo.jpg" alt="写真">
</body>
</html>
1. <!DOCTYPE html>
-
このファイルが「HTML5という最新バージョンのルールで書かれていますよ」ということを、ブラウザに宣言するための、おまじないのようなものです。必ず一番最初に書きます。
2. <html> タグ
-
<!DOCTYPE html>宣言の下に書かれ、HTML文書全体の「ルート(根っこ)」となります。すべての要素は、この<html>タグの内側に書かれます。
-
lang=”ja”という属性は、このページが「日本語」で書かれていることを示します。
3. <head> タグ
-
Webページそのものに関する、裏方の設定情報を記述する部分です。ここに書いた内容は、基本的にはブラウザの画面には表示されません。
-
<meta charset=”UTF-8″>:文字コードを「UTF-8」に指定しています。これを書かないと、日本語が文字化けする原因になります。
-
<title>:ブラウザのタブに表示される「ページのタイトル」です。
4. <body> タグ
-
実際にブラウザの画面に表示される、すべてのコンテンツを記述する部分です。
-
見出し、段落、画像、リンクなど、私たちがWebページとして目にするものは、すべてこの<body>タグの中に書かれています。
相棒の登場:CSSとJavaScriptとの関係
HTMLだけで作られたWebページは、まるで骨格標本のようです。構造は分かりますが、白黒で、なんの飾り気もありません。
そこで、HTMLには2つの強力な相棒がいます。
CSS (Cascading Style Sheets)
- 役割:見た目・デザインを担当。
- 例えるなら:骨格(HTML)に、壁紙を貼ったり、色を塗ったり、家具を配置したりする**「内装デザイナー」**。
- CSSを使うことで、「見出しを青色に」「背景をグレーに」「画像を丸く切り抜く」といった、あらゆる装飾が可能になります。
JavaScript (JS)
- 役割:動き・インタラクションを担当。
- 例えるなら:家に、自動ドアをつけたり、エレベーターを設置したりする**「設備技師」**。
- JavaScriptを使うことで、「ボタンを押したらメニューが開く」「画像がスライドショーのように切り替わる」といった、動的な機能を実現できます。
【3つの言語の役割分担】
-
HTML:構造(骨格)
-
CSS:見た目(デザイン)
-
JavaScript:動き(機能)
まとめ
HTMLは、インターネット上に存在する、すべてのWebページの「母」とも言える、 foundationalな言語です。
-
**HTMLは「マークアップ言語」で、Webページの「構造」**を定義する。
-
**< >で囲まれた「タグ」**を使って、コンテンツに意味を与える。
-
すべてのHTMLは、<html><head><body> という基本構造を持つ。
-
**CSS(見た目)とJavaScript(動き)**という相棒と協力して、一つのWebページが完成する。
HTMLは、プログラミングの世界への扉を開く、最も優しく、そして確実な第一歩です。そのルールはシンプルで、結果もすぐに目に見えるため、学習の楽しさを実感しやすいでしょう。
まずは、この記事で紹介した基本構造とタグを使って、あなたの手で「Hello, World!」と表示される、最初のWebページを作ってみませんか?そこから、あなたのクリエイティブなWeb制作の旅が始まります。
HTML・CSSの勉強を始めたけど、どうやって勉強すればいいんだ? 効率的な勉強方法はないものか... このような疑問に答えます。 「どうしてもプログラミングの勉強が続かない...」、「モチベーショ[…]