HTML基礎ガイド
📚 参考リンク
目次
HTMLとは
HTML(HyperText Markup Language)は、ウェブサイトのコンテンツ構造を作成するためのマークアップ言語です。
HTMLの主な特徴:
- コンテンツを段落、リスト、画像、テーブルなどの要素で構成
- 「要素」という部品を使ってコンテンツを囲み、特定の見た目や機能を付与
- タグを使用してテキストの装飾やリンクの作成が可能
HTML要素の基本
1. 基本構造
HTML要素は開始タグと終了タグで囲まれた形式をとります:
<p>ここに段落のテキストが入ります。</p>
- 開始タグ:
<p>
- コンテンツ: テキスト内容
- 終了タグ:
</p>
2. 空要素(Self-closing Elements)
一部の要素はコンテンツを持たない空要素です:
<img src="image.jpg" alt="画像の説明" /> <br /> <hr />
3. 入れ子構造(ネスト)
要素を他の要素の中に入れることができます:
<p>HTMLは <strong>とても重要な</strong> 技術です。</p>
4. セマンティック構造
HTML5のセマンティック要素により、ページの構造を意味に基づいて整理:
<article> <header> <h1>記事のタイトル</h1> <p>公開日: 2024年11月</p> </header> <section> <p>記事の本文内容</p> </section> <footer> <p>著者: John Doe</p> </footer> </article>
5. 属性(Attributes)
要素の特性を指定する追加情報:
<a href="https://example.com" target="_blank">リンクテキスト</a>
6. コメント
ブラウザに表示されないメモや説明:
<!-- これはコメントです --> <p>HTMLについて学びましょう。</p>
HTMLタグの構造
基本的なタグの形式
<!-- 通常の要素 --> <タグ名>コンテンツ</タグ名> <!-- 空要素 --> <タグ名 />
属性付きタグ
<img src="image.jpg" alt="画像の説明" />
HTMLの基本構造
<!DOCTYPE html> <html lang="ja"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>ページタイトル</title> </head> <body> <!-- ページのメインコンテンツ --> </body> </html>
各要素の説明
- : HTML5ドキュメントの宣言
<!DOCTYPE html>
- : HTMLドキュメントのルート要素
<html>
- : メタ情報を含む部分
<head>
- : 表示されるメインコンテンツ
<body>
主なHTML要素
見出し要素
<h1>メインタイトル</h1> <h2>サブタイトル</h2> <h3>小見出し</h3> <!-- h4, h5, h6も利用可能 -->
テキスト要素
<p>段落のテキスト</p> <strong>強調テキスト</strong> <em>イタリック体</em>
リンク要素
<a href="https://example.com">外部リンク</a> <a href="#section1">ページ内リンク</a>
画像要素
<img src="image.jpg" alt="画像の説明" width="300" height="200" />
リスト要素
<!-- 順序なしリスト --> <ul> <li>項目1</li> <li>項目2</li> <li>項目3</li> </ul> <!-- 順序付きリスト --> <ol> <li>第一項目</li> <li>第二項目</li> <li>第三項目</li> </ol>
テーブル要素
<table> <thead> <tr> <th>ヘッダー1</th> <th>ヘッダー2</th> </tr> </thead> <tbody> <tr> <td>データ1</td> <td>データ2</td> </tr> </tbody> </table>
HTML属性
共通属性
属性 | 説明 | 例 |
---|---|---|
| 一意の識別子 |
|
| CSS クラス名 |
|
| インラインスタイル |
|
| ツールチップテキスト |
|
よく使用される属性
<!-- リンク要素 --> <a href="URL" target="_blank" title="リンクの説明"> <!-- 画像要素 --> <img src="画像パス" alt="代替テキスト" width="幅" height="高さ" /> <!-- フォーム要素 --> <input type="text" name="username" placeholder="ユーザー名を入力" /></a>
コンテンツモデル
主要なコンテンツモデル
-
フローコンテンツ: ページの主要構成要素
- <div>
- <p>
- <header>
- <section> など
-
セクショニングコンテンツ: 文書のアウトライン定義
- ,
<article>
,<section>
,<nav>
<aside>
-
ヘディングコンテンツ: 見出し要素
- ~
<h1>
<h6>
-
フレージングコンテンツ: インライン要素
- ,
<span>
,<a>
,<strong>
<em>
-
埋め込みコンテンツ: 外部リソース
- ,
<img>
,<video>
,<audio>
<iframe>
-
インタラクティブコンテンツ: 操作可能要素
- ,
<a>
,<button>
,<input>
<select>
セマンティックタグ
HTML5で追加された意味を持つタグ:
<header> <nav> <ul> <li><a href="#home">ホーム</a></li> <li><a href="#about">概要</a></li> </ul> </nav> </header> <main> <article> <header> <h1>記事タイトル</h1> <time datetime="2024-01-01">2024年1月1日</time> </header> <section> <p>記事の内容</p> </section> </article> <aside> <h2>関連記事</h2> <ul> <li><a href="#">関連記事1</a></li> </ul> </aside> </main> <footer> <p>© 2024 サイト名</p> </footer>
セマンティックタグの利点
- SEO改善: 検索エンジンが内容を理解しやすい
- アクセシビリティ向上: スクリーンリーダーなどの支援技術に対応
- 保守性向上: コードの意味が明確
フォームの基本
基本的なフォーム構造
<form action="/submit" method="POST"> <fieldset> <legend>ユーザー情報</legend> <label for="username">ユーザー名:</label> <input type="text" id="username" name="username" required /> <label for="email">メールアドレス:</label> <input type="email" id="email" name="email" required /> <label for="password">パスワード:</label> <input type="password" id="password" name="password" required /> <button type="submit">送信</button> <button type="reset">リセット</button> </fieldset> </form>
input要素のtype属性
タイプ | 説明 | 例 |
---|---|---|
| テキスト入力 |
|
| メールアドレス |
|
| パスワード |
|
| 数値入力 |
|
| 日付選択 |
|
| チェックボックス |
|
| ラジオボタン |
|
| ファイル选择 |
|
| 送信ボタン |
|
| リセットボタン |
|
フォーム属性
action属性
<form action="/api/submit" method="POST"> <!-- フォームデータの送信先URL --> </form>
method属性
<!-- GET: URLパラメータでデータ送信 --> <form method="GET"> <!-- POST: リクエストボディでデータ送信 --> <form method="POST"></form> </form>
フォームバリデーション
<input type="email" required pattern="[a-z0-9._%+-]+@[a-z0-9.-]+\.[a-z]{2,}$" /> <input type="text" minlength="3" maxlength="20" /> <input type="number" min="0" max="100" />
まとめ
HTMLは:
- ウェブページの構造を定義するマークアップ言語
- セマンティックな要素を使用して意味のある構造を作成
- アクセシビリティとSEOを向上させる重要な技術
- 適切なコンテンツモデルに従って論理的な文書構造を構築
HTMLをマスターすることで、構造化され、アクセシブルで、検索エンジンに優しいウェブページを作成できます。