CSSにて、IE(Internet Explorer)のバージョンによって挙動を変えるための記述方法を紹介します。
CSSでIEのバージョン毎に値を指定する方法
例えば、背景色の色をバージョン毎に変えたい場合は、以下のように記述します。
.sample {
background: #ffffff;
background: #d3d3d3\9; /* IE10以下 */
*background: #000000; /* IE7以下 */
_background: #ff0000; /* IE6 */
}
:root .sample {
background: #ccc\0/; /* IE9 */
}
.sample:not(:target) {
background-color: #ffff00\9; /* IE9,10 */
}
IE10以下の場合は値の後ろに「\9」を、IE7以下の場合はプロパティの前に「*」を、IE6の場合はプロパティの前に「_」を入れます。
セレクタの前に「:root」を入れて値の後ろに「\0/」を追加することでIE9、セレクタに「:not(:target)」を追加して値の後ろに「\9」でIE9と10に対応できます。
あとがき
覚えておくと、古いIEでの対応が必要な時に結構役立ちます。例に挙げた背景色ではあまり使うことはないかもしれませんが、positionやmarginなどの位置を調整する時に活用できます。

