DOCTYPE宣言についてのカンタン説明|HTMLタグ

HTMLファイルを制作するにあたって、まず初めに行うDOCTYPE宣言についての簡単な説明です。この宣言を的確に行うことで正しくブラウザーに認識させます。

記述内容は決まっているので暗記する必要はありません。必要に応じた宣言をコピペで貼付けるだけで大丈夫です。特に指定が無ければHTMLは「 HTML 4.01 Transitional 」で制作すると良いかもしれません。

DOCTYPE宣言とは

DOCTYPE宣言を行うことでHTMLで記述することのできる要素のルールが変わります。
IE6以降は記述することでCSSの扱いが変わってきます。宣言の記述をしなくても表示はされます。

ブラウザには『標準モード』『互換モード』という機能がついています。Transitionalの場合に、DOCTYPE宣言にURIを含めないことで互換モードとなります。宣言がされていない場合も互換モードになります。

●標準モード
文法ミスは無視されます。
●互換モード
文法ミスをカバーしてくれる。

Strict(厳密型)Transitional(移行型)Frameset(フレーム設定用)の3種類がありますが、このBlogではStrictとTransitionalのみ記述します。今後の事を考えるとフレームでのサイト制作は賢くないかもしれません。

各HTMLファイルのDOCTYPE宣言の書き方

HTML 4.01 StrictのDOCTYPE宣言

非推奨の要素や属性は使えない。フレームを使用することもできない。

<!-- URI付 ●標準モード -->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">

<!-- URI無し ●標準モード-->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">

HTML 4.01 TransitionalのDOCTYPE宣言

非推奨の要素や属性が使える。フレームは使用できない。

<!-- URI付 ●標準モード -->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<!-- URI無し ●互換モード-->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

XHTMLファイルのDOCTYPE宣言についての注意

XHTMLで記述する場合、DOCTYPE宣言の前にHTMLにはない『XML宣言』が必要になる。ただしIE6以前のブラウザだとXML宣言以降のDOCTYPE宣言が無視されてしまい強制的に互換モードになってしまう。
文字コードが『UTF-8』の場合はXML宣言が必要ない。文字コードは全体的に『UTF-8』へ移行しているので特に指定が無い場合はUTF-8で記述しよう。どうしても必要な場合はDOCTYPE宣言の後に記述するのもあり。ただしW3C的にはNGが出る。

XHTML 1.0 StrictのDOCTYPE宣言

タグの大文字・小文字を区別する。通常タグは小文字で記述。UTF-8で記述の場合はXML宣言は必要ない。
フレームは使用できない。

<!-- URI付 ●標準モード -->
<?xml version="1.0" encoding="Shift_JIS"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<!-- URI付 ●標準モード -->
<?xml version="1.0" encoding="Shift_JIS"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN">

XHTML 1.0 TransitionalのDOCTYPE宣言

タグの大文字・小文字を区別する。通常タグは小文字で記述。UTF-8で記述の場合はXML宣言は必要ない。
フレームは使用できない。

<!-- URI付 ●標準モード -->
<?xml version="1.0" encoding="Shift_JIS"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<!-- URI無し ●互換モード-->
<?xml version="1.0" encoding="Shift_JIS"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN">

XHTMLの使用を厳密に指定する場合のDOCTYPE宣言

XHTML 1.1

タグの大文字・小文字を区別する。通常タグは小文字で記述。UTF-8で記述の場合はXML宣言は必要ない。
フレームは使用できない。

<!-- URI付-->
<?xml version="1.1" encoding="Shift_JIS"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">

<!-- URI無し-->
<?xml version="1.1" encoding="Shift_JIS"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN">

携帯用のXHTMLに関してのDOCTYPE宣言

XHTML BASIC 1.0

タグの大文字・小文字を区別する。通常タグは小文字で記述。UTF-8で記述の場合はXML宣言は必要ない。
フレームは使用できない。

<!-- URI付-->
<?xml version="1.1" encoding="Shift_JIS"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML Basic 1.0//EN" "http://www.w3.org/TR/xhtml-basic/xhtml-basic10.dtd">

<!-- URI無し-->
<?xml version="1.1" encoding="Shift_JIS"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML Basic 1.0//EN">