読者です 読者をやめる 読者になる 読者になる

ふろしき.js

Web + Mobile + UX + Performance Tech

IE10のDOCTYPEスイッチによるStandard/Quirksモードの切り替え一覧表

IE10には、古いIEの動作とHTML5との相互運用を可能としたレンダリングエンジンとして動作するQuirksモードと、最新のレンダリングエンジンとして動作するStandardモードがあります。HTMLドキュメントの一番上でのDOCTYPE宣言を行うことにより切り替えを行います。

IE10の場合、「X-UA-Compatibe」へ「IE=EmulateIE」というパラメータを与えることにより、過去のIEの動作を再現させることができます。EmulateIEは、5/7/8/9の3種類を持っています。5を指定すると常に「Quirksモード」として動作しますが、7/8/9の場合、DOCTYPE宣言の内容によって「Quirksモード」か「IE7/8/9 Standardモード」のどちらかへ遷移します。

▼ HTMLドキュメント内で宣言する場合

<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE9" />

▼ HTTP Response Headerで指定する場合

X-UA-Compatible:IE=EmulateIE9

EmulateIEを指定した場合もそうでない場合も、Quirksモードへの判定条件は変化しません。このため、本記事ではEmulateIEを指定している状態で、IE7/8/9 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">

HTML5系

S <!DOCTYPE html>

IE5 quirksモードについて

IE6〜10までのQuirksモードはIE5の動作を再現するためにありましたが、IE10からは方針を変更し、HTML5標準との相互運用を行うための仕様変更が行われました。このため、公式的にIE5とは互換性がなくなっています。

代替の手段として、IE10にはIE5の動作を再現させる「IE5 quirksモード」という別のドキュメントモードを用意しています。これを利用すれば、以前のQuirksモードと同じ動作を再現させることが可能です。

対策には、以下のリンクを参照して下さい。

>> IE6〜9とIE10とでQuirksモードの動作が違う、どうすれば解決できるか?

広告を非表示にする