DOCTYPEスイッチ

DOCTYPEスイッチはCSSやHTMLを仕様通りに正しく解釈するブラウザと、そうでないブラウザが存在する中で、どのように解釈するかを状況によって切り替える事が出来る仕様です。実装しているブラウザはMozilla (Netscape6), MacIE5などで、HTMLのDOCTYPE宣言によって制御出来ます。

DOCTYPE宣言

DOCTYPE宣言とは、そのHTML文書がどの仕様・バージョン・文法に従って書かれているかを示す物です。DTD(※)はHTMLだけで記述していた時は省略していた方も多いと思いますが、CSSを使う際には省略せずにしっかりと宣言しましょう。
※DTD(Document Type Definition):文書型定義

HTML4.01

HTML4.01では、3種類のDTDが用意されています。 Internet Explorer 6.0の場合、Internet Explorer専用のタグやプロパティを使用してると、DOCTYPE宣言によって、表示モードが異なるため表示しないものがあります。例えば、scrollbarプロパティを指定しても反映しません。DOCTYPE宣言を使用する場合は、注意が必要です。

Strict DTD
仕様通りHTML4.01本来の厳密で正確な解釈をします。
非推奨要素や属性、またフレームを使用することができません。

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

Transitional DTD
非推奨要素や属性は使用できますが、フレームを使用することができません。
要素の配置については比較的制限が甘くなっています。

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

Frameset DTD
Transitional DTDとほぼ同じですが、フレームが使用できます。

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

XHTML

<!DOCTYPE ...> の前に
<?xml version="1.0" encoding="UTF-8"?>
という行を付けると書いてあるところもあります。しかし『IE6』のバグで、強制的に古い表示モードになるというものがあるので、当面は付けないほうが良いでしょう。
また、『名前空間』というものを導入する事がW3Cから勧告されています。

<html xmlns="http://www.w3.org/1999/xhtml">

この宣言を最初に行うことで、html要素内に記述するタグは、接頭辞を持たなくてもXHTMLの名前空間に属することになるのです。
XHTMLについて詳しく知りたい方はこちらをお読み下さい。

XHTML 1.0 Strict DTD

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

XHTML 1.0 Transitional DTD

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

XHTML 1.0 Frameset DTD

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">

XHTML 1.1 Strict DTD

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">

XHTML Basic 1.0 DTD

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML Basic 1.0//EN" "http://www.w3.org/TR/xhtml-basic/xhtml-basic10.dtd">

XHTML Mobile Profile1.0 DTD

<!DOCTYPE html PUBLIC "-//WAPFORUM//DTD XHTML Mobile 1.0//EN" "http://www.wapforum.org/DTD/xhtml-mobile10.dtd">

戻る

TOP