IE8について...。

IE8がリリース目前だということもあって、いろいろIE8についての記事が出現して...

IE8がリリース目前だということもあって、いろいろIE8についての記事が出現している今月。
ちょろっと気になるところを列挙しておく。メモの代わりとして。。

とにかくIE8はWeb標準準拠のブラウザ
⇒特にIE8用の対策をすることなく、Web標準に準拠して制作していればよいことになる。

IE8はhasLayoutプロパティが削除された
IE8はCSS2.1の完全準拠をゴールとしているため、現在のような崩れはなくなる(のでは?)
でもCSS3への対応はモダンブラウザの中では最下位
IE7にくらべてスクリプトの処理能力は、5倍高速化
ただし、この新しい標準モードは過去のバージョンのIEに依存したCSSやjavascriptに対して大きく影響を及ぼし、レイアウトの崩れなどが発生する恐れがある

レンダリングモードが3種類あり、レンダリングモードを明示的に指定するための機能「metaスイッチ」が導入されている。
javascript:alert(document.documentMode)と入力すると、どのレンダリングモードでページが表示されているかを確認できる。

metaスイッチによる指定方法。

<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7"/>
太字の部分を
IE=8でIE8標準モード
IE=7でIE7標準モード
IE=5で互換モード
IE=n(nの値が5以上7未満)で互換モード
IE=edgeでIE8標準モード
IE=EmulateIE8でIE8標準モードか互換モードをDOCTYPEにより判別
IE=EmulateIE7でIE7標準モードか互換モードをDOCTYPEにより判別
その他の文字列は無視される。

IE用のハック(スターハックやアンダーバーハック)は使用を控える方向へのシフトが必要
(世界的には、使用しないことをちゃんと意識しておくこと)
⇒世界的には、条件分岐でスタイルシートを切り替える

※条件分岐でのソースコード例
<link rel="stylesheet" type="text/css" href="hoge.css"/>

<!--[if lt IE 7]>
<link rel="stylesheet" type="text/css" href="ie6.css">
<![endif]-->

<!--[if IE7]>
<link rel="stylesheet" type="text/css" href="ie7.css">
<![endif]-->

<!--[if IE 8]>
<link rel="stylesheet" type="text/css" href="ie8.css">
<![endif]-->

この記事の周辺情報

著者

稲本[せぶん]浩介
福岡の企業に在籍し、Webを中心に活動中。Webディレクター、IA(インフォメーション アーキテクト)、マークアップエンジニア、CSSコーダーetc。
Twitterボタン

amazonさんがこのサイトを見て、書籍を紹介してくれています。