<!DOCTYPE>の説明
<!DOCTYPE>
は、文書の先頭に置かれるドキュメントタイプの宣言です。ブラウザがソースコードを読み込む際に、どのモードでレンダリングすべきかを指定できます。
HTMLでは、古い文法で書かれた内容に対応する「後方互換モード」に切り替わってしまうことを防ぐために書きます。HTML5以降のスタンダードな環境では、<!DOCTYPE html>
というシンプルな形で記述しておけば問題ありません。
<!DOCTYPE>
で仕様を宣言するということは、そのルールに準拠したコーディングが求められます。冒頭で宣言したドキュメントタイプと、実際に書かれているHTMLのバージョンや形式が異なっている場合、ブラウザのレンダリングでエラーが出たり表示が崩れることがあります。
正確には、<!DOCTYPE>
はHTMLの要素ではなくプリアンブル(preamble)です。最初のうちは、どのような効果を持つのか理解しずらいかも知れませんが、HTMLの一行目に必ず書くものだということを覚えておきましょう。
より詳しい内容は「DOCTYPE宣言・DOCTYPEスイッチ」で解説します。
<!DOCTYPE>の特徴
- HTMLドキュメントの一行目に記述します。
- ブラウザーが文書をレンダリングするときのモードに影響を与えます。
- 厳密に言うと
<!DOCTYPE>
はHTMLの要素ではありません。
<!DOCTYPE>要素に指定できる属性
- なし
- 特にありません。
<!DOCTYPE>要素の使い方とサンプルコード
DOCTYPEの宣言は以下のように行います。通常のウェブサイトであれば「標準モード(Standards mode)」を選択します。参考までに、かつて使われていた古い宣言も残しておきます。
標準モード(Standards mode)
通常のウェブサイトを作成する場合、標準モード(Standards mode)であることを宣言します。<!DOCTYPE>
を記述しなかった場合、ブラウザは後方互換モード(Quirks mode)に切り替えてレンダリングを行う場合があります。
<!DOCTYPE html>
<html>
<head>
<title>ドキュメントタイトル</title>
</head>
<body>
ドキュメントの内容。
</body>
</html>
Strict DTD (HTML4.01)
HTML4の仕様に正確にしたがって書かれた文章用の宣言です。最も厳密であり、非推奨の属性やフレームを使う事はできません。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "https://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title>ドキュメントタイトル</title>
</head>
<body>
ドキュメントの内容。
</body>
</html>
Transitional DTD (HTML4.01)
こちらは比較的制限が緩和されたもので、HTML4で非推奨となった要素や属性をある程度許容します。しかしフレームは使用出来ません。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "https://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>ドキュメントタイトル</title>
</head>
<body>
ドキュメントの内容。
</body>
</html>
Frameset DTD (HTML4.01)
こちらはフレームを使用する場合の宣言です。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "https://www.w3.org/TR/html4/frameset.dtd">
<html>
<head>
<title>ドキュメントタイトル</title>
</head>
<body>
ドキュメントの内容。
</body>
</html>