主に自分のための情報ですが、あちこちに書き留めていたのでまとめて公開しておきます。間違いなどがありましたら、ご指摘お願いします。
IE8 基本情報
IE8 にはレンダリングモードが複数ある。詳細は以下のサイトを参照。
少し古い情報ですが、以下サイトも参考になりました。
あまり気にする必要はなさそうですが、以下の点も一応知っておく方がよいかと思います。※主に JavaScript 関連で違いがあるようです。
meta タグによるモードの指定方法
表 1 Internet Explorer 8 の互換モード
互換モード値 レンダリング動作 IE=5 Quirks (クワークス) モード IE=7 Internet Explorer 7 標準準拠モード IE=EmulateIE7 !DOCTYPE 宣言によりモードが決定されます
- Quirks モード の !DOCTYPE 宣言の場合は Quirks モード
- 標準モードの !DOCTYPE 宣言の場合は Internet Explorer 7 標準準拠モード
IE=8 Internet Explorer 8 標準モード IE=EmulateIE8 !DOCTYPE 宣言によりモードが決定されます
- Quirks モード の !DOCTYPE 宣言の場合は Quirks モード
- 標準モードの!DOCTYPE 宣言の場合は Internet Explorer 8 標準モード
IE=edge Internet Explorer 8 と将来のすべてのバージョンのブラウザーがサポートする最新の標準を使用。実稼働サイトには非推奨
よく使うようなものだけリストアップします。
<!-- IE8標準準拠モードを指定 --> <meta http-equiv="X-UA-Compatible" content="IE=8"> <!-- IE7標準準拠モードを指定 --> <meta http-equiv="X-UA-Compatible" content="IE=7"> <!-- Quirksモードを指定 --> <meta http-equiv="X-UA-Compatible" content="IE=5"> <!-- 最新の標準準拠モードを指定 (IE8が最新バージョンの場合なら、IE8標準準拠モードとなる) --> <meta http-equiv="X-UA-Compatible" content="IE=edge">
複数のバージョンを指定した場合については、後述。
各モードの内容
- IE8モード
- CSS 2.1やSelectors APIなど、Web標準を強く意識したモード。
- IE7モード
- IE7の標準準拠モードと同じ
- IE5モード
- IE7やIE6の互換モードと同じ
その他モードについては、最初にあげたサイトなどを参照。
モードの複数指定をおこなった場合
meta スイッチには、下記のように複数のレンダリングモードを指定することが可能。
<meta http-equiv="X-UA-Compatible" content="IE=7; IE=9">
metaスイッチをサポートする今後のIEは、指定される値の中から、一番適したモードを選択します。上記の例ではIE7モードとIE9モードを選択していますが、IE8でその文書を表示させると、IE8モードではなくIE7モードでレンダリングすることになります。
今のところ、一番多く使うのは IE7 モード指定でしょうか。あまり使わない方が良いのかもしれませんが、保守サイトなどが IE8 で見ておかしい場合などの対応には手軽です。