[browzer] IE8の3つレンダリングモードを理解する

需要があり、IE8について勉強しています。新しいことを勉強するのは楽しいものですね。まずはレンダリングモードから。 3つのレンダリングモード IE8には3つのレンダリングモードがあります。レンダリングモードが異なればHTML、CSSの解釈が異なり表示結果が異なりますので、このモードの選択のされ方は非常に重要です。 IE <= 6 IE 7 IE 8 Quirks mode IE 7 Standards mode IE 8 Standards mode IE 7 Layout IE 8 Layout IE8標準準拠モード(IE 8 Standards mode) IE7標準準拠モード(IE 7 Standards mode) Quirksモード(互換モード) IE8はデフォルトでは「IE8標準準拠モード」になります。一時新しいモードは非デフォルトになるという話がありましたが、方針転換されたようです。 参考: スラッシュドット・ジャパン | IE8のWeb標準準拠モードは非デフォルトに スラッシュドット・ジャパン | IE8はフル標準モードでのレンダリングがデフォルトに Quirksモードに切り替わる条件 IE8には3つモードがありますが、まずは過去のIE(IE6, IE7)でもすでに概念として存在していた「標準準拠モード(standards-compliant mode)になるかQuirksモードになるか」という判断基準から解説します。 これは、!DOCTYPEの書き方等により決定されます。以下がQuirksモードに切り替わる条件です。IE6以降すべて同じ条件です。 DOCTYPE宣言が存在しない HTML3.0以下 HTML4.0 TransitionalまたはFramesetのDOCTYPE宣言にURLを含まない 以下がこれらの条件をまとめた表です(!DOCTYPEより引用)。standards-compliant modeがONになるかどうかという観点でまとめられています。 DOCTYPE URL Present URL Not Present No DOCTYPE present off off HTML (no version) off off HTML 2.0 off off HTML 3.0 off off HTML 4.0 on on HTML 4.0 Frameset on off HTML 4.0 Transitional on off HTML 4.0 Strict on on XHTML on on XML on on Unrecognized DOCTYPE on on 以下は具体例です。 ...

June 6, 2008 · 3 min · 胡田昌彦