
IEのブラウザチェックで古いバージョンに対し条件付きのコメントに用いる「コンディショナルコメント」というものがあります。これは「特定のバージョンのIEに対し○○を適用する」という指定の際に利用します。
条件付きコメント(じょうけんつきコメント)とは、Microsoft Internet Explorerによって解釈されるHTMLソースコード中にある条件付きのステートメントである。条件付きコメントは、マイクロソフトのInternet Explorer 5ブラウザーで初めて登場し、バージョン9までサポートされた。なお、バージョン10以降はこの機能は廃止され、他のブラウザと同様、単なるコメントとして扱われる事となった[1]。よって、「IEそのものを検出する」コメントは「IE9以下を検出する」コメントと同義になる。条件付きコメントは、Internet Explorerに対して、コードを渡したり隠したりするのに使用できる。
Wikipediaより抜粋
今では、IE8以下への対応として「html5shiv」や「IE9.js」や「css3.js」などを読み込んで、ブラウザのバージョン間での差異に対応しています。
基本記述方法
|
1 2 3 |
<!--[if IE comparison feature version]> ここに指示内容を記述 <![endif]--> |

compressionに指定できる値
| lt | 指定したversionより下のIEに適用 |
| lte | 指定したversionより以下のIEに適用 |
| gt | 指定したversionより上のIEに適用 |
| gte | 指定したversionより以上のIEに適用 |
featureに指定できる値
| IE | ブラウザの種類を指定(featureに指定できる値はIEしかない…) |
versionに指定できる値
| 5,5.5,6,7,8,9 | IEブラウザのバージョン |
サンプルコード
特定のバージョンのIEにのみ「sample.css」を読み込むと仮定します。
IEすべて
|
1 2 3 |
<!--[if IE]> <link rel="stylesheet" type="text/css" href="sample.css" /> <![endif]--> |
IE7のみに指定
|
1 2 3 |
<!--[if IE 7]> <link rel="stylesheet" type="text/css" href="sample.css" /> <![endif]--> |
IE6以下すべてに指定
|
1 2 3 |
<!--[if lte IE 6]> <link rel="stylesheet" type="text/css" href="sample.css" /> <![endif]--> |
IE以外に指定
|
1 2 3 |
<!--[if !IE]> <link rel="stylesheet" type="text/css" href="sample.css" /> <![endif]--> |
ここで注意が必要ですが、このコンディショナルコメントは“IE10以降”に廃止されており、IE10以降のブラウザでは他のブラウザと同じようにただのコメントとして扱われ無視されてしまいます。
したがって、例えばIEすべてに指定というコメントを記述した場合、
|
1 2 3 |
<!--[if IE]> <link rel="stylesheet" type="text/css" href="sample.css" /> <![endif]--> |
IE9以下すべてという条件と同等の解釈をされることになります。
