![]()
HTML元素と有効なDOCTYPES
HTML(HyperText Markup Language)はウェブページを構築するための基本的な言語です。HTML文書は、構造化されたテキスト、画像、リンク、フォーム要素などの組み合わせで構成されます。HTML元素は、ウェブページ内でこのようなコンテンツを定義するために使用されます。さらに、有効な DOCTYPE 宣言は、ブラウザに文書の種類を伝え、適切なレンダリングを保証します。
HTML元素 - 有効な DOCTYPES
以下の表は、すべての HTML5、HTML 4.01、および XHTML 元素と、それらが登場する文書タイプ (!DOCTYPE) を示しています:
HTMLタグのサポート状況
| タグ | HTML5 | Transitional | Strict | Frameset | XHTML 1.1 |
| <a> | ✅ | ✅ | ✅ | ✅ | ✅ |
| <abbr> | ✅ | ✅ | ✅ | ✅ | ✅ |
| <acronym> | ❌ | ✅ | ✅ | ✅ | ✅ |
| <address> | ✅ | ✅ | ✅ | ✅ | ✅ |
| <applet> | ❌ | ✅ | ❌ | ✅ | ❌ |
| <area> | ✅ | ✅ | ✅ | ✅ | ❌ |
| <article> | ✅ | ❌ | ❌ | ❌ | ❌ |
| <aside> | ✅ | ❌ | ❌ | ❌ | ❌ |
| <audio> | ✅ | ❌ | ❌ | ❌ | ❌ |
| <b> | ✅ | ✅ | ✅ | ✅ | ✅ |
| <base> | ✅ | ✅ | ✅ | ✅ | ✅ |
| <basefont> | ❌ | ✅ | ❌ | ✅ | ❌ |
| <bdi> | ✅ | ❌ | ❌ | ❌ | ❌ |
| <bdo> | ✅ | ✅ | ✅ | ✅ | ❌ |
| <big> | ❌ | ✅ | ✅ | ✅ | ✅ |
| <blockquote> | ✅ | ✅ | ✅ | ✅ | ✅ |
| <body> | ✅ | ✅ | ✅ | ✅ | ✅ |
| <br> | ✅ | ✅ | ✅ | ✅ | ✅ |
| <button> | ✅ | ✅ | ✅ | ✅ | ✅ |
| <canvas> | ✅ | ❌ | ❌ | ❌ | ❌ |
| <caption> | ✅ | ✅ | ✅ | ✅ | ✅ |
| <center> | ❌ | ✅ | ❌ | ✅ | ❌ |
| <cite> | ✅ | ✅ | ✅ | ✅ | ✅ |
| <code> | ✅ | ✅ | ✅ | ✅ | ✅ |
| <col> | ✅ | ✅ | ✅ | ✅ | ❌ |
| <colgroup> | ✅ | ✅ | ✅ | ✅ | ❌ |
| <command> | ✅ | ❌ | ❌ | ❌ | ❌ |
| <datalist> | ✅ | ❌ | ❌ | ❌ | ❌ |
| <dd> | ✅ | ✅ | ✅ | ✅ | ✅ |
| <del> | ✅ | ✅ | ✅ | ✅ | ❌ |
| <details> | ✅ | ❌ | ❌ | ❌ | ❌ |
| <dfn> | ✅ | ✅ | ✅ | ✅ | ✅ |
| <dir> | ❌ | ✅ | ❌ | ✅ | ❌ |
| <div> | ✅ | ✅ | ✅ | ✅ | ✅ |
| <dl> | ✅ | ✅ | ✅ | ✅ | ✅ |
| <dt> | ✅ | ✅ | ✅ | ✅ | ✅ |
| <em> | ✅ | ✅ | ✅ | ✅ | ✅ |
| <embed> | ✅ | ❌ | ❌ | ❌ | ❌ |
| <fieldset> | ✅ | ✅ | ✅ | ✅ | ✅ |
| <figcaption> | ✅ | ❌ | ❌ | ❌ | ❌ |
| <figure> | ✅ | ❌ | ❌ | ❌ | ❌ |
| <font> | ❌ | ✅ | ❌ | ✅ | ❌ |
| <footer> | ✅ | ❌ | ❌ | ❌ | ❌ |
| <form> | ✅ | ✅ | ✅ | ✅ | ✅ |
| <frame> | ❌ | ❌ | ❌ | ✅ | ❌ |
| <frameset> | ❌ | ❌ | ❌ | ✅ | ❌ |
| <h1> - <h6> | ✅ | ✅ | ✅ | ✅ | ✅ |
| <head> | ✅ | ✅ | ✅ | ✅ | ✅ |
| <header> | ✅ | ❌ | ❌ | ❌ | ❌ |
| <hgroup> | ✅ | ❌ | ❌ | ❌ | ❌ |
| <hr> | ✅ | ✅ | ✅ | ✅ | ✅ |
| <html> | ✅ | ✅ | ✅ | ✅ | ✅ |
| <i> | ✅ | ✅ | ✅ | ✅ | ✅ |
| <iframe> | ✅ | ✅ | ❌ | ✅ | ❌ |
| <img> | ✅ | ✅ | ✅ | ✅ | ✅ |
| <input> | ✅ | ✅ | ✅ | ✅ | ✅ |
| <ins> | ✅ | ✅ | ✅ | ✅ | ❌ |
| <kbd> | ✅ | ✅ | ✅ | ✅ | ✅ |
| <keygen> | ✅ | ❌ | ❌ | ❌ | ❌ |
| <label> | ✅ | ✅ | ✅ | ✅ | ✅ |
| <legend> | ✅ | ✅ | ✅ | ✅ | ✅ |
| <li> | ✅ | ✅ | ✅ | ✅ | ✅ |
| <link> | ✅ | ✅ | ✅ | ✅ | ✅ |
| <map> | ✅ | ✅ | ✅ | ✅ | ❌ |
| <mark> | ✅ | ❌ | ❌ | ❌ | ❌ |
| <menu> | ✅ | ✅ | ❌ | ✅ | ❌ |
| <meta> | ✅ | ✅ | ✅ | ✅ | ✅ |
| <meter> | ✅ | ❌ | ❌ | ❌ | ❌ |
| <nav> | ✅ | ❌ | ❌ | ❌ | ❌ |
| <noframes> | ❌ | ✅ | ❌ | ✅ | ❌ |
| <noscript> | ✅ | ✅ | ✅ | ✅ | ✅ |
| <object> | ✅ | ✅ | ✅ | ✅ | ✅ |
| <ol> | ✅ | ✅ | ✅ | ✅ | ✅ |
| <optgroup> | ✅ | ✅ | ✅ | ✅ | ✅ |
| <option> | ✅ | ✅ | ✅ | ✅ | ✅ |
| <output> | ✅ | ❌ | ❌ | ❌ | ❌ |
| <p> | ✅ | ✅ | ✅ | ✅ | ✅ |
| <param> | ✅ | ✅ | ✅ | ✅ | ✅ |
| <pre> | ✅ | ✅ | ✅ | ✅ | ✅ |
| <progress> | ✅ | ❌ | ❌ | ❌ | ❌ |
| <q> | ✅ | ✅ | ✅ | ✅ | ✅ |
| <rp> | ✅ | ❌ | ❌ | ❌ | ❌ |
| <rt> | ✅ | ❌ | ❌ | ❌ | ❌ |
| <ruby> | ✅ | ❌ | ❌ | ❌ | ❌ |
| <s> | ✅ | ✅ | ❌ | ✅ | ❌ |
| <samp> | ✅ | ✅ | ✅ | ✅ | ✅ |
| <script> | ✅ | ✅ | ✅ | ✅ | ✅ |
| <section> | ✅ | ❌ | ❌ | ❌ | ❌ |
| <select> | ✅ | ✅ | ✅ | ✅ | ✅ |
| <small> | ✅ | ✅ | ✅ | ✅ | ✅ |
| <source> | ✅ | ❌ | ❌ | ❌ | ❌ |
| <span> | ✅ | ✅ | ✅ | ✅ | ✅ |
| <strike> | ❌ | ✅ | ❌ | ✅ | ❌ |
| <strong> | ✅ | ✅ | ✅ | ✅ | ✅ |
| <style> | ✅ | ✅ | ✅ | ✅ | ✅ |
| <sub> | ✅ | ✅ | ✅ | ✅ | ✅ |
| <summary> | ✅ | ❌ | ❌ | ❌ | ❌ |
| <sup> | ✅ | ✅ | ✅ | ✅ | ✅ |
| <table> | ✅ | ✅ | ✅ | ✅ | ✅ |
| <tbody> | ✅ | ✅ | ✅ | ✅ | ❌ |
| <td> | ✅ | ✅ | ✅ | ✅ | ✅ |
| <textarea> | ✅ | ✅ | ✅ | ✅ | ✅ |
| <tfoot> | ✅ | ✅ | ✅ | ✅ | ❌ |
| <th> | ✅ | ✅ | ✅ | ✅ | ✅ |
| <thead> | ✅ | ✅ | ✅ | ✅ | ❌ |
| <time> | ✅ | ❌ | ❌ | ❌ | ❌ |
| <title> | ✅ | ✅ | ✅ | ✅ | ✅ |
| <tr> | ✅ | ✅ | ✅ | ✅ | ✅ |
| <track> | ✅ | ❌ | ❌ | ❌ | ❌ |
| <tt> | ❌ | ✅ | ✅ | ✅ | ✅ |
| <u> | ❌ | ✅ | ❌ | ✅ | ❌ |
| <ul> | ✅ | ✅ | ✅ | ✅ | ✅ |
| <var> | ✅ | ✅ | ✅ | ✅ | ✅ |
| <video> | ✅ | ❌ | ❌ | ❌ | ❌ |
| <wbr> | ✅ | ❌ | ❌ | ❌ | ❌ |
事例
例として、標準的な HTML5 文書の基本構造は次のようになります:
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<title>サンプルHTML5文書</title>
</head>
<body>
<h1>これは見出しです</h1>
<p>これは段落です。</p>
</body>
</html>
この例では、HTML5 の DOCTYPE 宣言が使用され、簡単な見出しと段落が定義されています。
関連QA
Q1: DOCTYPE 宣言は必要ですか?
A1: はい、DOCTYPE 宣言は文書の種類をブラウザに伝え、正しい表示を保証するために重要です。
Q2: HTML5 で新しい元素はどれですか?
A2: HTML5 で新しく追加された元素には <article>、<aside>、<figure>、<figcaption>、<footer>、<header>、<nav>、<section> などがあります。
Q3: XHTML と HTML の違いは何ですか?
A3: XHTML は HTML を XML に基づいて再構築したもので、より厳密な構文規則があります。例えば、すべてのタグは閉じられなければなりません。