IE9には、IE5の動作を再現させるQuirksモードと、最新のレンダリングエンジンとして動作するStandardモードがあります。HTMLドキュメントの一番上でのDOCTYPE宣言を行うことにより切り替えを行います。
IE9の場合、「X-UA-Compatibe」へ「IE=EmulateIE」というパラメータを与えることにより、過去のIEの動作を再現させることができます。EmulateIEは、5/7/8の3種類を持っています。5を指定すると常に「Quirksモード」として動作しますが、7/8の場合、DOCTYPE宣言の内容によって「Quirksモード」か「IE7/8 Standardモード」のどちらかへ遷移します。
▼ HTMLドキュメント内で宣言する場合
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE8" />
▼ HTTP Response Headerで指定する場合
X-UA-Compatible:IE=EmulateIE8
EmulateIEを指定した場合もそうでない場合も、Quirksモードへの判定条件は変化しません。このため、本記事ではEmulateIEを指定している状態で、IE7/8 Standardモードになる場合も「Standardモード」として扱います。
DOCTYPEスイッチ一覧
Quirksモードを「Q」、Standardモードを「S」と表記します。
HTML1系
Q | 無し |
HTML2系
Q | <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN"> |
Q | <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"> |
S | <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML i18n//EN"> |
HTML3系
Q | <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 3.0//EN"> |
Q | <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN"> |
Q | <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> |
HTML4系
Q | <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> |
S | <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> |
Q | <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN"> |
S | <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd"> |
S | <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"> |
S | <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> |
XHTML1系
S | <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> |
S | <?xml version="1.0" encoding="utf-8"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> |
S | <!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> |
S | <?xml version="1.0" encoding="utf-8"?> <!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> |
S | <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd"> |
S | <?xml version="1.0" encoding="utf-8"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd"> |