DOCTYPE 宣言によるブラウザレンダリング方式の指定

WinIE6, Firefox, Opera などの最新のブラウザは W3C 勧告に倣ったレンダリングを行うが、下位互換を保つために前世代のレンダリング方式も指定できる。逆に、W3C 準拠のレンダリングも正確に指定しなければ実行されない。HTML の先頭に DOCTYPE 宣言をどのように書くかによってレンダリングの方式が決定する。


で、何をもってその「解釈モード」を切り替える合図とするかというと、HTML ソースの DOCTYPE 宣言を見て判断が下されるです。DOCTYPE 宣言の有無や、宣言した HTML 種別の選択から感じ取れる書き手の気合いの入り具合(笑)によって、「 過去の慣習的な解釈を再現するモード (Quirks mode) 」「 仕様準拠の厳格解釈モード (Standards mode) 」のどちらかへ切り替わるです。
Quirks mode

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">

Standards mode

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

以上の様に、dtd の指定が存在するかどうかによってレンダリング方式が変わる。詳しくは引用元参照。
XHTML の場合は Quirks mode は存在しない。ただし、例外的に WinIE6 では xml 宣言を書き込まない場合に Quirks mode になる。