HTMLの「!DOCTYPE html」宣言とは?

| 基本知識 ホームページ制作手帳

「!DOCTYPE html」宣言とは?

<!DOCTYPE html> 宣言は、HTML文書の最初に記述される宣言で、文書がHTML5で書かれていることをブラウザに知らせる役割を持っています。

この宣言により、ブラウザは文書を正しく解釈し、標準モードでレンダリングします。

歴史と背景

DOCTYPE 宣言は、HTMLの初期バージョンから存在しており、HTMLのバージョンによって形式が異なります。HTML5では、この宣言がシンプルに <!DOCTYPE html> となりましたが、以前のバージョンでは長く複雑な形式が使用されていました。以下は歴史的な DOCTYPE 宣言の例です:

HTML 4.01 Strict

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">

XHTML 1.0 Strict

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

書き方・使用方法

<!DOCTYPE html> 宣言は、HTML文書の最初に必ず記述します。この宣言があることで、ブラウザは標準モードで文書をレンダリングします。正しい使用方法は以下の通りです:

<!DOCTYPE html>
<html lang="ja">
<head>
    <meta charset="UTF-8">
    <title>サンプルHTMLドキュメント</title>
</head>
<body>
    <h1>こんにちは、世界!</h1>
</body>
</html>

この例では、<!DOCTYPE html> 宣言がHTML文書の先頭に配置されています。

互換モードと標準モード

ブラウザは、DOCTYPE 宣言に基づいてレンダリングモードを決定します。

<!DOCTYPE html> 宣言を使用することで、ブラウザは最新のHTMLおよびCSS仕様に従って文書を表示する標準モードを使用します。

一方、DOCTYPE 宣言が欠如している場合、ブラウザは互換モードに入り、古いブラウザとの互換性を保つために、異なる方法で文書を表示します。

標準モード最新の仕様に従って正確に文書を表示します
互換モード過去のバージョンのブラウザと互換性のある方法で文書を表示しますが、
表示が崩れる可能性があります。

よくある質問

DOCTYPE 宣言を省略した場合の影響

DOCTYPE 宣言を省略すると、ブラウザは文書を互換モードでレンダリングし、最新のHTML仕様に従わないため、表示が崩れる可能性があります。

XHTMLとHTML5の違い

XHTMLでは、DOCTYPE 宣言はより厳密で長い形式を使用しますが、HTML5では <!DOCTYPE html> と非常に簡潔です。

他の DOCTYPE 宣言の例

HTML 4.01 Transitional:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

HTML 4.01 Frameset:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">

まとめ

<!DOCTYPE html> 宣言は、HTML文書のレンダリングにおいて非常に重要な役割を果たします。

適切に使用することで、ブラウザは文書を標準モードで表示し、最新のHTML仕様に基づいた正確な表示を行います。これにより、ユーザーエクスペリエンスの向上とウェブページの一貫した表示が保証されます。