<< [Vista]ガジェット+WPF | main | [Web] Web Development Helperツール >>

2006/11/29 (水)

[IE7]CSS対応

これまでIE6対応で限定して開発してきたWebシステムにおいてCSSを使っているとIE7でレイアウトがIE6と同じにならない場合がある。
これはIE6までにおいてブラウザのバグやW3C準拠になっていなかったのが原因である。しかしIE7のためだけに稼働中のシステムレイアウトを大きく変えるわけにはいかないので、IE環境のみに対応する『条件付コメント(Condition Commnet)』を使うことにする。

head要素内に
    <!--[if lt IE 6]>
    <style>
     ...
     CSS項目
     ...
    </style>
<![endif]-->
と記述することで
①IEかそれ以外のブラウザ
②IEのバージョン
などによるCSSの対応が可能となる。


CSSファイルをリンクしている場合は
    <!--[if IE 6]>
    <link> rel="stylesheet" type="text/css" href="ie6style.css" />
    <![endif]-->
と記述する。

たまたま表示が思い通りになっていたから良しと思っていても
実は非W3C準拠あるいはバグにより恩恵を受けていたとは、悲し…

他の対応方法もあるようなので詳細はこちら

この条件付コメントはCSSだけに限らずScriptなど他の要素にも使えるので意外と使えるかも。
参考:About Conditional Comments