ややこしいことに、IE9には次の4種類のドキュメント・モード(=描画モード、レンダリング・モード)が存在する。
これらのモードをしっかりコントロールしないと、期待通りのレンダリングが得られない。
特に、HTML5を利用する場合、ドキュメント・モードのコントロールが必須である。
尚、IE8では上記の3種類、IE10では更に1つ増え、5種類となる。
次のページをIE9で開いたら、F12で開く開発者用画面右上のブラウザーモード、ドキュメントモードのモードを切り替え、表示がどのように変換するか、確認してください。
参考サイト:IE8/IE9 - ブラウザーモード/ドキュメントモードのチェックページ
上記のサイトで、それぞれのモードを変えれば、表示が変わることが分かる。
では、ブラウザーIE9で、IE9モードで、ページを開くにはどうしたらよいか?
下記のような検討をしたところ、どうやらmeta要素できっちり宣言することで、IE9モードになるらしい。
IE9とIE10では若干の違いはあるものの、それほど大きく変わらないと言われている。
IE10でも同様、ブラウザーモード/ドキュメントモードをきっちり制御しないと、
希望するHTML5のレンダリングができなくなる。
このページをIE9で開いたら、F12で開発者用画面を表示する。
この開発者用画面右上のブラウザーモード、ドキュメントモードに注目し、リンクを開いてください。
<!DOCTYPE html> <html xmlns="http://www.w3c.org/1999/xhtml" lang="ja"> <head> <meta http-equiv="X-UA-Compatible" content="IE=edge"/> <meta charset="utf-8"> <title>IEの挙動</title> </head> <body> <h1>IE9</h1> </body> </html>
<html xmlns="http://www.w3c.org/1999/xhtml" lang="ja"> <head> <meta charset="utf-8"> <title>IEの挙動</title> </head> <body> <h1>Quirks(クワークス)</h1> </body> </html>
<!DOCTYPE html> <html xmlns="http://www.w3c.org/1999/xhtml" lang="ja"> <head> <meta charset="utf-8"> <title>IEの挙動</title> </head> <body> <h1>IE9互換表示のブラウザーモードでは、ドキュメントモードはIE7</h1> <h1>IE9標準のブラウザーモードでは、ドキュメントモードはIE9</h1> </body> </html>
<html> <head> <meta http-equiv="X-UA-Compatible" content="IE=9"/> <meta charset="utf-8"> <title>IEの挙動</title> </head> <body> <h1>IE9</h1> </body> </html>
<?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"> <html lang="ja" xml:lang="ja" xmlns="http://www.w3.org/1999/xhtml"> <head> <meta charset="utf-8"> <title>IEの挙動</title> </head> <body> <h1>IE9互換表示のブラウザーモードでは、ドキュメントモードはIE7</h1> <h1>IE9標準のブラウザーモードでは、ドキュメントモードはIE9</h1> </body> </html>
2012/10/2 大坂哲司 作成