DOCTYPE宣言とは
その文書がHTMLやXHTMLのどのバージョンで作成されているかを宣言するものです。
Document Type Definition、DTD、文書型宣言とも言われます。
HTML5ではDOCTYPE宣言は不要といえば不要なのですが、ブラウザの表示モードを標準モードにする目的では必要になります。DOCTYPE宣言が書かれていない場合は(後方)互換モードになってしまいます。
※標準モード
HTMLの標準仕様に準拠したページを表示させるためのモード。
※(後方)互換モード
HTMLの文法が無視されていた古い時代のページを表示させるためのモード。
このモードは昔のブラウザの独自仕様に合わせた表示をするモードでありCSSの解釈が標準と異なるため、制作者の意図しないレイアウトになる恐れがあります。
記述場所
文書の先頭
書き方
基本形は以下の通りになります。
<!DOCTYPE html>
大文字小文字の区別はされないので、以下のように書いても構いません。
<!DOCTYPE HTML>
<!doctype html>
なお、<!DOCTYPEの部分は続けて書く必要があり、
< !DOCTYPE
<! DOCTYPE
のように書くことはできません。
また、HTML5であっても一応HTML4.01 StrictやXHTML1.0 StrictなどのDOCTYPE宣言を使用できるらしいです。
おまけ:HTML4.01の場合
Strict(厳密型) DTDの場合
非推奨要素、非推奨属性、フレームが使用できません。
cssを理解している人向けで、スタイルを全てcssで設定していれば問題ありません。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
Transitional(移行型) DTDの場合
非推奨要素と非推奨属性は使用できますが、フレームは使用できません。
htmlにスタイルを突発的に追加することがあるならこの宣言。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
Frameset(フレーム設定型) DTDの場合
全て使用可能です。
フレームを使用したファイルに使用する宣言です。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">