文書型宣言を示し、これはタグではない。
親要素 | HTML4.01において必ずファイルの先頭
※空白や改行、コメントなどは先に現れて良い。
|
|---|
タグ | これはタグではない。
HTML4.01 において必須である。
|
|---|
内容 | 含まない。
|
|---|
HTML4〜4.01においてはこの文書型宣言は必須となっているが、文書型宣言にそぐわないタグを利用する事は出来ない為、ブラウザ独自タグを利用するなど、HTML4.01に沿っていない書き方をする場合、この宣言はしない方がマシであると言える。
但し、CSSを利用する際は、宣言した方が良い。
● HTML 4.01厳密型DTD
− 推奨しない要素や属性を含まない。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
● HTML 4.01移行型DTD
− 推奨しない要素や属性も含む。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
● HTML 4.01 フレーム設定型DTD
− フレームセットも含まれる。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN"
"http://www.w3.org/TR/html4/frameset.dtd">
最初にあらわれるHTML は、これが「HTML」である事を示す。
PUBLIC は、これが公開された一般的な仕様である事を示す。
最初の"" で囲まれた部分は、どのタイプのHTMLであるかを意味している。
なお、最後のEN は、DTDが英語を基準に書かれている事を意味する。
最後のURIは、URIにDTD原文が保存されている事を意味する。
Mac 版のIEや、Mac・Winに関わらず各種のGekkoエンジン搭載ブラウザ(FirefoxやNetscapeなど)を利用しているユーザーには影響が少ないが、Windows版InternetExploler 6.0以降を利用しているユーザーにとっては、非常に重要となる。
Windows版IEの場合、Ver6.0以前までは、CSSへの対応状況は残念ながらバグが多かった。そして、Ver6.0以降では改善された機能が多数あるのだが、なんとWin版IE6.0以降では、古いVerとの互換性を保つ為に、わざとバグをそのまま継承している互換モードで動作する。
これを、バグフィックスされたモードである「CSS標準モード」で起動する為には、HTML4以降に準拠し、Doctype宣言を正しく行う必要があるのだ。
但し、勿論Ver6.0より前のVerでは、Doctype宣言を正しく行ってもバグが発生したままで有る事には注意して欲しい。
なお、xml文章では、CSS標準モードで普通に起動できるが、今度は逆に?xml?宣言を行うとバグが発生するのはIE6の固有のバグである。