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]-->


コメントする