<!DOCTYPE>:ドキュメントタイプの宣言要素・HTMLタグの解説

取り扱い 標準仕様
カテゴリー なし
親にできる要素
子にできる要素
対応ブラウザ caniuseで確認

<!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>

<doctype>に関連するHTMLタグ

ドキュメントの基礎を作る要素
<!DOCTYPE> ドキュメントタイプの宣言を行う
<html> HTML文書の開始を宣言してドキュメントルートを定義する
<head> ドキュメントのヘッダーを定義する
<body> 画面に表示させるページ内容を定義する