IE8 に関するコーディング関連のまとめ

2010/07/22

主に自分のための情報ですが、あちこちに書き留めていたのでまとめて公開しておきます。間違いなどがありましたら、ご指摘お願いします。

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 と将来のすべてのバージョンのブラウザーがサポートする最新の標準を使用。実稼働サイトには非推奨

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モードでレンダリングすることになります。

IE8のモードスイッチ | Web標準Blog | ミツエーリンクスより引用』

今のところ、一番多く使うのは IE7 モード指定でしょうか。あまり使わない方が良いのかもしれませんが、保守サイトなどが IE8 で見ておかしい場合などの対応には手軽です。