条件付コメント(コンディショナルコメント)とはInternet Explorer 5以上に実装された独自仕様で、
そのコメントで囲われた部分の表示・非表示をブラウザのバージョンによって分けることができます。
外部CSSの指定以外にBODYタグ内でも使用できます。
コメント<!-- 〜 -->を使用するので、ブラウザハックを使う手法に比べて条件付コメントは
標準規格に準拠した形になっているのが大きな違いではないでしょうか。
あまり使うことはないですが、AND条件やOR条件もあります。
IE5以上の機能なので、当然IE4以下は『その他のブラウザ』として扱われる。
IE5.xxだけを分けるなら、HTML文書の変更がないため次の手法を使ったほうがいいです。
[参考記事] CSSのブラウザ振り分け
IE以外というのも可能です。
<!--[if !IE]>-->〜<!--<![endif]-->
バージョンは数字で指定する。
バージョンで指定できる値 | |
---|---|
値 | 指定内容 |
7 | IE7を指定 |
6 | IE6を指定 |
5.5 5.5000 | IE5.5を指定 |
5 | IE5.xを指定 |
5.0 5.0000 | IE5.0を指定 |
比較演算子は
lt … later than
gt … greater than
e … equal
比較演算子で指定できる値 | |
---|---|
値 | 指定内容 |
lt | より下のIEに適用 |
lte | 以下のIEに適用 |
gt | より上のIEに適用 |
gte | 以上のIEに適用 |
& … AND条件
| … OR条件
指定内容 | IE5.0 | IE5.5 | IE6.0 | IE以外 (IE4含) |
例 |
<!--[if IE 5.0]>〜<![endif]--> | ○ | ||||
<!--[if IE 5.5000]>〜<![endif]--> | ○ | ||||
<!--[if IE 6.0]>〜<![endif]--> | ○ | ||||
<!--[if gte IE 5.0]>〜<![endif]--> | ○ | ○ | ○ | ||
<!--[if gte IE 5.5000]>〜<![endif]--> | ○ | ○ | |||
<!--[if gte IE 6.0]>〜<![endif]--> | ○ | ||||
<!--[if lte IE 5.0]>〜<![endif]--> | ○ | ||||
<!--[if lte IE 5.5000]>〜<![endif]--> | ○ | ○ | |||
<!--[if lte IE 6.0]>〜<![endif]--> | ○ | ○ | ○ | ||
<!--[if IE]>〜<![endif]--> | ○ | ○ | ○ | ||
<!--[if !IE]>-->〜<!--<![endif]--> | ○ | ○ | |||
<!--[if (gte IE 5.5 & lte IE 6)]>〜<![endif]--> | ○ | ○ | |||
<!--[if ! (gte IE 5 & lt IE 6)]>〜<![endif]--> | ○ | ||||
<!--[if (lte IE 5.0 | gte IE 6)]>〜<![endif]--> | ○ | ○ |