IE 条件付きコメントは、IE5 以降、Microsoft が提供する非標準の論理ステートメントであり、その機能は、スタイル シート、HTML タグなどのさまざまな HTML 要素をさまざまな IE バージョンのブラウザに柔軟にインポートすることです。明らかに、この方法の最大の利点は、Microsoft によって公式に提供された互換性のあるソリューションであり、W3C 検証にも合格できることです。
いくつかの例を見てみましょう:
<!--[if IE]> <link type="text/css" rel="stylesheet" href="my.css" /> <![endif]-->
IE の条件付きコメントのサポートは IE5 以降のバージョンからのみ開始されるため、すべての「IE のみ」が認識できるということは、「IE5 以降のバージョンのみ」が認識できることを意味します。
<!--[if IE 8]> <link type="text/css" rel="stylesheet" href="my.css" /> <![endif]-->
特定の IE バージョン (上位か下位か) を特定します。上記の例はIE8でのみ認識可能です。
<!--[if !IE 7]> <link type="text/css" rel="stylesheet" href="my.css" /> <![endif]-->
上記の例では、IE7 の特定のバージョンは認識できませんが、他のバージョンは認識できます。もちろん、IE5 以降である必要があります。
<!--[if gt IE 7]> <link type="text/css" rel="stylesheet" href="my.css" /> <![endif]-->
上記の例では、IE7 以降のバージョンのみを認識できます。 IE7は認識されません。
<!--[if gte IE 7]> <link type="text/css" rel="stylesheet" href="my.css" /> <![endif]-->
上記の例ではIE7以降のバージョンが認識できます。
<!--[if lt IE 7]> <link type="text/css" rel="stylesheet" href="my.css" /> <![endif]-->
上記の例では、IE7 より前のバージョンのみが認識され、IE7 は認識されません。
<!--[if lte IE 7]> <link type="text/css" rel="stylesheet" href="my.css" /> <![endif]-->
上記の例ではIE7以下のバージョンが認識できます。
上記のコードは覚えるのが難しそうに見えますが、実はキーワードを少し説明すれば簡単に覚えることができます。
lt: Less thanの略で、未満という意味です。
lte: Less than or equal toの略で、以下という意味です。
gt: Greater than の略で、「より大きい」という意味です。
gte: Greater than orequal toの略で、以上という意味です。
!: 「等しくない」という意味で、JavaScript の不等号判定と同じです。
このように説明すると、より覚えやすくなります。
1. 非 IE ブラウザで状況を定義するために