IE7のCSSハック

IE7は条件分岐が効くので、それを使ってIE6以前だけに適用させるとか、IE7だけに適用させるとかする。

●IE6以前だけに読み込ませる条件分岐

<!–[if lt IE7]>
<link rel=”stylesheet” href=”*****.css” type=”text/css” />
<![endif]–>

●IE7だけに読み込ませる条件分岐

<!–[if IE7]>
<link rel=”stylesheet” href=”*****.css” type=”text/css” />
<![endif]–>

その他、IE7で使えるハックと他のブラウザとの対応関係

IE7で使用できるCSSハック
ハック IE6以前 IE7 その他 Mac版IE5
*html × ×
*:first-child+html × × ×
html>body ×
html>/**/body × ×

※上記の「ハック」の内容の後に半角スペースを空けてセレクタを記述。

※その他のブラウザとは、Firefox1〜2、Safari1〜2、Opera6〜9、Netscape6〜8などのモダンブラウザ

プロパティレベルでのハック
ハック IE6 IE7
_プロパティ:値  プロパティの前に_をつける ×
プロパティ/**/:値 プロパティの後に/**/をつける ×

コメント:4個

  1. Yukiより、 2007/9/1 土曜日:

    lt表記、知らなかったので使わせていただきました!
    で、少し気になったので。。。
    の部分ですが、正しくは
    だと思います。
    ちょっとバグって、びっくりしてしまったのでご報告です。

  2. Yukiより、 2007/9/1 土曜日:

    ああ。。半角英数は表記されないのですね。すみません。
    <!−[if lt IE7]−>が、正しくは
    <!−−[if lt IE7]>
    ではないでしょうか。とお伝えしたかっただけです。

  3. goriより、 2007/9/1 土曜日:

    Yuki様
    コメントありがとうございます。
    ご指摘のとおりです。申し訳ありませんでした。
    記事の方の記述は直しておきました。

  4. レッツ長より、 2007/9/14 金曜日:

    *+html {
    IE7のみに適用させるCSS
    }

    ってのを使ってますが、これはアリですか?
    メイリオのおかげで大迷惑。

コメントをどうぞ