HTMLドキュメントモード


IE5.5ドキュメントタイプ(DOCTYPE)切り替えにより実現されるドキュメントモードの概念を導入した.最初の2つのドキュメントモードは、ハイブリッドモード(quirks mode)と標準モード(standards mode)です.ハイブリッドモードはIEの動作をIE 5と同じにし、標準モードはIEの動作を標準動作に近づける.異なるパターンは主にCSSコンテンツの提示に影響し,場合によってはJSの解釈実行にも影響する.その後IEはまた準標準モード(almost standards mode)を提案し、このモードではブラウザの特性の多くは複合標準であるが、まだ完全な標準ではない.
ドキュメントの開始時にドキュメントタイプ宣言が見つからない場合は、すべてのブラウザがデフォルトでハイブリッドモードをオンにします.しかし、ハイブリッドモードを採用することは推奨される方法ではありません.異なるブラウザのこのモードでの動作の違いが非常に大きいため、いくつかのhack技術を使用しなければ、ブラウザをまたぐ動作には一貫性がありません.(Html 5では、文書型が統一されており、直接表記はでよい)
標準モードでは、次のいずれかのドキュメントタイプを使用してオンにできます.
<!-- HTML 4.01     -->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "
 
<!-- XHTML 1.0     -->
<!DOCTYPE htmlPUBLIC "-//W3C//DTD XHTML 1.0Strict//EN" "<!-- HTML 5 -->
<!DOCTYPE html>

一方、準標準モードでは、次のように遷移型またはフレームセット型のドキュメントタイプを使用してトリガーできます.
<!-- HTML 4.01     -->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" " 

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

<!-- XHTML 1.0     -->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" " 

<!-- XHTML 1.0      -->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "

準標準モードは標準モードに非常に近く,それらの違いはほとんど無視できる.したがって、「標準モード」という言葉がある場合、この2つのモードのいずれかを指す可能性がある.また、ドキュメントモードを検出しても何の違いも見つかりません.一般的に標準モードといえば、ハイブリッドモード以外のモードを指す.