目次 [非表示]
DOCTYPE宣言ってなんだ?
HTMLやXHTMLの文書の一番初めに書かれているDOCTYPE宣言。
<head>や<html>の前に書かれているには理由があります。
ブラウザは、まず第一にその文書がどんな言語で書かれているのかを理解する必要があります。
今からこの仕様で書き始めるよ!と先に宣言する必要があるわけですね。
DOCTYPE宣言とは
DOCTYPE宣言とは、
1. この文書がHTMLだよ!
2. このHTMLのバージョンだよ!
3. このDTD(Document Type Definition/文章の構成要素バージョン)に従った記述をするよ!
ブラウザはこの宣言の内容に従って、文書を表示します。
大文字で書いても小文字で書いてもOKです。
バージョンあれこれ

HTML4.01
HTML4.01には、3種類の文書型宣言があります。
HTML4.01 Strict DTD
厳密なDTDです。非推奨の要素・属性が使えません。
HTML4.01 Transitional DTD
Strictほど厳密ではないDTDです。
非推奨の要素・属性の仕様が可能ですが、フレームは使えません。
HTML4.01 Frameset DTD
Transitionalにフレームが使えるようになったものです。
個人サイトとかでよく見たアレですね。
XHTML1.0
HTML4.0と同じようにXHTML1.0にも3種類の文書型宣言があります。
XHTML1.0 Strict DTD
厳密なDTDです。非推奨の要素・属性が使えません。
XHTML1.0 Transitional DTD
非推奨の要素・属性の仕様が可能ですが、フレームは使えません。
XHTML1.0 Frameset DTD
Transitionalにフレームが使えるようになったものです。

HTML5(2014年10月29日)
たったのこれだけ。
HTML5でだいぶシンプルに書けるようになりました。
現場ではまだまだ古いバージョンのHTMLを使っている現場も多くあります。
なので、最新のバージョンの言語だけでなく古いバージョンの言語知識も身につけておくようにしましょう。