Webサイトを作ってみたい、でも何から始めればいいのかわからない――そんなあなたのために、この記事ではHTMLの基礎を徹底的にわかりやすく解説します。実際のコード例を交えながら、実践的なスキルが身につく内容になっています。
HTMLとは?Webページの骨組みを作る言語
**HTML(HyperText Markup Language)**は、インターネット上のすべてのWebページを構成する基本言語です。あなたが今見ているこのページも、GoogleやYouTubeも、すべてHTMLで作られています。
HTMLの役割
HTMLは、Webページの「構造」や「意味」を定義します。具体的には以下のようなことができます:
- 見出しや段落などの文章構造の定義
- 画像や動画などのメディアの埋め込み
- 他のページへのリンクの設定
- フォーム(入力欄)の作成
- テーブル(表)やリストの作成
HTMLは「マークアップ言語」であり、プログラミング言語ではありません。そのため、初心者でも比較的簡単に習得できるのが特徴です。
HTMLとCSS、JavaScriptの関係
Webページ制作には3つの言語が使われます:
- HTML – 構造(骨組み)
- CSS – デザイン(見た目)
- JavaScript – 動き(機能)
例えるなら、家を建てるとき、HTMLは柱や壁などの骨組み、CSSは壁紙や塗装などの装飾、JavaScriptは電気やエアコンなどの設備に相当します。
1. HTMLの基本構造を理解しよう
すべてのHTML文書は、決まった構造(テンプレート)に従って書かれます。以下が最も基本的なHTML文書の構造です。
html
各要素の詳細解説
<!DOCTYPE html>
HTML5であることをブラウザに宣言する「おまじない」です。必ず文書の最初に記述します。これがないと、ブラウザが古いモードで動作してしまう可能性があります。
<html lang="ja">
HTML文書全体を囲む最上位のタグです。lang="ja"は、このページが日本語で書かれていることを示します。英語の場合はlang="en"を使用します。この情報は検索エンジンや音声読み上げソフトが参照します。
<head>セクション
ページに関するメタ情報を記述する部分です。ここに書いた内容は、基本的にブラウザ画面には表示されません。
<meta charset="UTF-8"> 文字エンコーディングを指定します。UTF-8は世界中のほぼすべての文字(日本語、英語、絵文字など)を扱える国際標準の文字コードです。これを指定しないと、日本語が文字化けする可能性があります。
<meta name="viewport"> スマートフォンやタブレットでの表示を最適化するための設定です。width=device-widthでデバイスの画面幅に合わせ、initial-scale=1.0で初期表示倍率を100%に設定します。
<meta name="description"> Googleなどの検索結果に表示されるページの説明文です。120〜160文字程度で、ページ内容を魅力的に要約しましょう。SEO(検索エンジン最適化)において非常に重要な要素です。
<title> ブラウザのタブに表示されるページタイトルです。検索結果にも表示されるため、SEOの観点から最も重要な要素の一つです。「ページ内容 – サイト名」という形式が推奨されます。
<body>セクション
実際にブラウザ画面に表示されるコンテンツを配置する部分です。テキスト、画像、リンクなど、すべての可視要素はここに記述します。
2. 基本的なHTMLタグを使いこなそう
HTMLには多くのタグがありますが、まずは頻繁に使用する基本タグをマスターしましょう。
見出しタグ(h1〜h6)- 文書の構造を作る
見出しタグは、文書の階層構造を表現する重要な要素です。<h1>から<h6>まで6段階あり、数字が小さいほど重要度が高くなります。
html
見出しタグの使い方のルール
<h1>はページに1つだけ – ページ全体のメインタイトルとして使用- 階層を飛ばさない – h1→h2→h3の順に使い、h1→h3のような飛ばし方はNG
- SEOに影響する – 検索エンジンは見出しを重視してページ内容を理解します
- 視覚的なサイズではなく意味で選ぶ – デザインはCSSで調整します
段落タグ(p)- テキストをまとめる
段落(パラグラフ)を表すタグです。文章のまとまりごとに<p>タグで囲みます。
html
リンクタグ(a)- ページをつなぐ
<a>タグ(アンカータグ)は、ハイパーリンクを作成するためのタグです。インターネットを「Web(蜘蛛の巣)」たらしめている最も重要な要素です。
html
リンクのtarget属性とrel属性
target="_blank"– リンクを新しいタブ/ウィンドウで開きますrel="noopener noreferrer"– セキュリティ対策として、target="_blank"と併用することが推奨されます
画像タグ(img)- ビジュアルを追加する
画像を表示するためのタグです。<img>は終了タグが不要な「空要素」です。
html
alt属性の重要性
alt属性は、画像の代替テキストです。以下の理由から必ず設定しましょう:
- アクセシビリティ – 視覚障害者が使う音声読み上げソフトで画像内容を理解できる
- SEO効果 – 検索エンジンが画像内容を理解し、画像検索に表示される
- 画像が読み込めない場合 – 通信エラー時などに代わりに表示される
テキスト装飾タグ – 文章を強調する
html
重要: <strong>と<b>、<em>と<i>は見た目は同じですが、意味が異なります。SEOやアクセシビリティの観点から、意味的に重要な場合は<strong>や<em>を使いましょう。
リストタグ – 情報を整理する
リストは情報を構造化して表示する重要な要素です。
順序なしリスト(箇条書き)
項目の順序に意味がない場合に使用します。
html
順序付きリスト(番号付き)
手順や順位など、項目の順序が重要な場合に使用します。
html
ネストしたリスト(入れ子構造)
リストの中にリストを入れることができます。
html
区切り線タグ(hr)- セクションを分ける
水平線を表示して、セクションを視覚的に区切ります。
html
改行タグ(br)- 行を改める
段落内で改行したい場合に使用します。ただし、多用は避け、段落を分ける場合は<p>タグを使いましょう。
html
3. 属性を使ってタグをカスタマイズしよう
HTMLタグには「属性(attribute)」を追加することで、より詳細な設定や情報を加えることができます。属性は、タグの開始部分に属性名="値"の形式で記述します。
よく使う共通属性
すべて、またはほとんどのHTMLタグで使用できる属性があります。
id属性 – 要素を一意に識別する
ページ内で唯一のIDを付けます。同じIDを複数の要素に使うことはできません。
html
使用例:
- CSSで特定の要素だけにスタイルを適用
- JavaScriptで特定の要素を操作
- ページ内リンクのターゲットとして使用
class属性 – 要素をグループ化する
複数の要素に同じクラス名を付けてグループ化できます。
html
ポイント: 1つの要素に複数のクラスを指定する場合は、スペースで区切ります。
style属性 – インラインスタイルを適用する
直接CSSを記述して見た目を変更できます。ただし、保守性が悪くなるため、基本的には外部CSSファイルを使用することが推奨されます。
html
title属性 – ツールチップを表示する
要素にマウスカーソルを重ねたときに、説明文を表示します。
html
リンク専用の属性
target属性 – リンクの開き方を指定
html
download属性 – ファイルをダウンロードさせる
リンクをクリックしたときに、ページ遷移ではなくファイルをダウンロードさせます。
html
画像専用の属性
html
widthとheight– 画像のサイズを指定(ピクセル単位)loading="lazy"– 画像の遅延読み込み。ページ表示速度が向上しますtitle– マウスオーバー時に表示される説明文
4. HTMLコメント – コードに注釈を入れる
HTMLコメントは、コードの説明やメモを書くための機能です。ブラウザには表示されませんが、ソースコードを見ると確認できます。
html
コメントの活用方法
- コードの説明 – 複雑な構造の説明
- 一時的な無効化 – コードを削除せずに一時的に無効化
- TODOメモ – 後で実装する予定の機能をメモ
- セクション区切り – コードのブロックを視覚的に区切る
html
5. HTMLのネスト構造(入れ子)を理解しよう
HTMLは、タグの中に別のタグを入れる「ネスト構造(入れ子構造)」を持つことができます。これにより、複雑な文書構造を表現できます。
正しいネストの例
html
ネストのルール
- 開始タグと終了タグは正しい順序で閉じる
html
- 適切なインデント(字下げ)を使う
可読性を高めるため、ネストが深くなるごとにインデントします。
html
- ブロック要素とインライン要素の違いを理解する
- ブロック要素 – 改行されて表示される(div, p, h1など)
- インライン要素 – 改行されずに横に並ぶ(a, strong, spanなど)
html
6. セマンティックHTML – 意味を持たせた構造化
HTML5では、より意味的な(セマンティックな)タグが導入されました。これらを使うことで、検索エンジンやスクリーンリーダーがページの構造をより正確に理解できます。
主要なセマンティックタグ
html
各タグの役割
<header>– ページやセクションのヘッダー<nav>– ナビゲーションリンクのグループ<main>– ページのメインコンテンツ(1ページに1つだけ)<article>– 独立した記事コンテンツ<section>– 文書内のセクション(章や節)<aside>– メインコンテンツと間接的に関連する補足情報<footer>– ページやセクションのフッター
7. 実践:簡単なWebページを作ってみよう
ここまで学んだ知識を使って、実際にシンプルなWebページを作成してみましょう。
html
まとめ:HTMLマスターへの道
HTMLはWebページ制作の基礎となる非常に重要な言語です。この記事で学んだ内容を実践することで、基本的なWebページを作成できるようになります。
学習の次のステップ
1. 実際に手を動かす
テキストエディタ(VSCode、Sublime Textなど)を使って、実際にHTMLファイルを作成してみましょう。百聞は一見に如かず、実践が最も効果的な学習方法です。
2. ブラウザの開発者ツールを活用する
- Chromeなら「F12」または右クリック→「検証」
- 他のサイトのHTML構造を見て学ぶ
- 自分のコードをデバッグする
3. CSSを学ぶ
HTMLで構造を作ったら、次はCSSでデザインを整えましょう。色、サイズ、レイアウトなど、見た目を自由に変更できます。
4. JavaScriptで動きをつける
ボタンのクリック処理や、動的なコンテンツ表示など、Webページに機能を追加できます。
5. レスポンシブデザインを学ぶ
スマートフォン、タブレット、PCなど、さまざまなデバイスで最適に表示されるWebページを作る技術を習得しましょう。
よくある初心者の質問(FAQ)
Q1. HTMLとHTMLファイルの拡張子は何ですか? A. HTMLファイルの拡張子は「.html」または「.htm」です。一般的には「.html」が使われます。
Q2. タグは大文字でも小文字でも良いのですか? A. HTML5では大文字でも小文字でも動作しますが、小文字で書くことが標準的な慣習です。
Q3. すべてのタグに終了タグが必要ですか? A. いいえ。<img>、<br>、<hr>、<input>などは終了タグが不要な「空要素」です。
Q4. idとclassの使い分けは? A. idは1つの要素にのみ使用し、一意である必要があります。classは複数の要素に同じ名前をつけてグループ化できます。
Q5. HTMLだけでWebサイトは作れますか? A. 基本的なページは作れますが、見た目を整えるにはCSS、動きをつけるにはJavaScriptが必要です。
おすすめの学習リソース
公式ドキュメント
- MDN Web Docs(Mozilla) – 最も信頼できるHTML/CSS/JavaScriptのリファレンス
- W3C(World Wide Web Consortium) – Web標準を策定している団体の公式サイト
オンライン学習プラットフォーム
- Progate – 日本語で学べる初心者向けプログラミング学習サイト
- ドットインストール – 短い動画でサクサク学べる
- Udemy – 体系的に学べる有料コース多数
練習サイト
- CodePen – ブラウザ上でHTMLを書いて即座に表示確認できる
- JSFiddle – HTML/CSS/JavaScriptをまとめて試せる
HTML学習のロードマップ
初級(1〜2週間)
- HTMLの基本構造を理解
- 基本的なタグ(h1-h6, p, a, img, ul/ol)を使える
- 属性の使い方を理解
- 簡単な自己紹介ページを作成
中級(1〜2ヶ月)
- セマンティックHTMLを理解して使える
- フォーム(form, input, textarea)を作成できる
- テーブル(table)を作成できる
- CSSと組み合わせてデザインを整えられる
- 複数ページのWebサイトを作成
上級(3〜6ヶ月)
- アクセシビリティ(ARIA属性など)を考慮したコーディング
- SEO最適化されたHTML構造
- JavaScriptとの連携
- レスポンシブデザインの実装
- 実際の案件レベルのサイト制作
HTMLコーディングのベストプラクティス
1. セマンティックなタグを使う
html
2. 適切なインデントを使う
コードの可読性を高めるため、ネストに応じてインデント(通常2スペースまたは4スペース)を使いましょう。
3. コメントを適切に使う
複雑な構造や後で見返す可能性がある部分にはコメントを残しましょう。
4. alt属性を必ず設定する
すべての画像に適切な代替テキストを設定することで、アクセシビリティとSEOが向上します。
5. 外部リソースは相対パスと絶対パスを使い分ける
html
6. HTMLバリデーターでチェックする
W3Cが提供するHTMLバリデーターを使って、コードが正しいか確認しましょう。
実務で使える便利なHTMLテクニック
メタタグの活用
html
ファビコンの設定
html
外部CSSとJavaScriptの読み込み
html
HTMLとアクセシビリティ
Webサイトは、障害のある方も含めすべての人が利用できるべきです。以下のポイントに注意しましょう:
1. 適切な見出し構造
見出しタグ(h1〜h6)を適切に使い、論理的な文書構造を作りましょう。
2. alt属性の設定
画像には必ず代替テキストを設定します。装飾目的の画像にはalt=""(空)を設定します。
3. リンクテキストは具体的に
html
4. フォームにはラベルを
html
HTMLとSEO(検索エンジン最適化)
検索エンジンで上位表示されるためのHTML記述のポイント:
1. タイトルタグの最適化
html
- 60文字以内
- 主要キーワードを含める
- ページごとにユニークなタイトルを設定
2. メタディスクリプションの記述
html
3. 見出しタグの適切な使用
h1は1ページに1つだけ、重要なキーワードを含めます。
4. 構造化データの実装
html
5. モバイルフレンドリー
html
トラブルシューティング:よくあるエラーと解決法
エラー1: ページが文字化けする
原因: 文字エンコーディングの設定が間違っている 解決法:
html
をheadセクションの最初の方に記述する
エラー2: 画像が表示されない
原因: 画像のパスが間違っている 解決法:
- ファイル名のスペルミスを確認
- パスが正しいか確認(相対パス/絶対パス)
- 画像ファイルが実際に存在するか確認
エラー3: レイアウトが崩れる
原因: タグの閉じ忘れ 解決法:
- HTMLバリデーターでチェック
- エディタのシンタックスハイライトを確認
- 開始タグと終了タグが正しくペアになっているか確認
エラー4: リンクが動作しない
原因: href属性の記述ミス 解決法:
html
HTMLの将来と最新トレンド
HTML5の進化
HTML5は継続的にアップデートされ、新しい機能が追加されています:
- Web Components – 再利用可能なカスタム要素
- Progressive Web Apps (PWA) – ネイティブアプリのような体験をWebで
- 新しいフォーム要素 –
<input type="date">,<input type="color">など
注目の新要素
html
最後に:HTMLは一生のスキル
HTMLはWeb技術の基礎であり、一度習得すれば一生使えるスキルです。Webサイト、Webアプリケーション、モバイルアプリ、さらにはメール配信まで、HTMLの知識は幅広い場面で活用できます。
最も重要なことは、この記事を読むだけでなく、実際に手を動かしてコードを書くことです。小さなミスをしながら学ぶことで、確実にスキルが身につきます。
まずは簡単な自己紹介ページから始めてみましょう。そして、徐々に複雑なページに挑戦していってください。あなたのWeb制作の旅が、ここから始まることを願っています。
さあ、最初の一歩を踏み出しましょう!