IE8のレンダリングモードについて。

用意されたレンダリングモードは全部で3つ。

・IE8標準モード
・IE7標準準拠モード
・互換モード

2つ目までは、まんま。
「互換モード」はIE5系統と「互換」モード。(←IE7までもあった。)

3つもあるのか・・・。
IE9の話がそろそろ出てきているけど、
そのときはIE8互換モードというのができているのかな・・・。
制作者泣かせ。
(そういえば、8の次はIEシリーズをやめて、
 C#で開発した新ブラウザになるなんていう話もありましたね)

ちがいはCSSのプロパティのサポート範囲だと思うのですが、
IE8については、リリースされたばっかなのでまだ特有の不具合とかあるかもしれないです。

(IE7のときは、SJISで書かれたサイトが真っ白になるという妙な不具合がありましたね。
 最近は不具合の多いSJISでサイト作ることは少なくなったのでいいと思いますが。)



レンダリングモードの選択は、METAタグでやります。

DOCTYPE宣言で切替もできるみたいなんですが、

大体、レンダリングモードに関わらず同じDOCTYPE宣言すると思います。
(ちなみに、DOCTYPE宣言をつけないと勝手に互換モードになるので、
 つけたほうがいいですね。)

で、書くMETAタグは、

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

です。
「値」のところへ採用するレンダリングモードを書きます。

IE=8 IE8レンダリングモード
IE=7 IE7レンダリングモード
IE=5 互換モード。
IE=EmulateIE8 DOCTYPE宣言に基づいて、
IE8モードか互換モードでレンダリング
IE=EmulateIE7 DOCTYPE宣言に基づいて、
IE7モードか互換モードでレンダリング

「IE=8」や「IE=7」にすると、柔軟性がなくなってしまうので、
「IE=EmulateIE8」「IE=EmulateIE7」にするのが妥当でしょうか。

2009年6月現在では、
HTMLなら

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

XHTMLなら

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

あたりで、DOCTYPE宣言した上で、

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

としておいて方が無難かなと思います。