Microsoftが配布しているWebブラウザのIEとEdgeは、バージョンによってCSSハックの記述の仕方も異なってきます。
そこで今回は<div class=”test”>~</div>に対してcolor: #ff0000;を適用させるうえで、代表的なIE・Edgeのバージョンに対するそれぞれのCSSの記述方法をご紹介したいと思います!
IEのCSSハックの一覧
1つのバージョンに対するCSSの記述方法
IE8のみに適用させる
以下のようにCSSを記述することで、IE8のみに適用させることができます!
@media \0screen {
.test {
color: #ff0000;
}
}
IE9のみに適用させる
以下のようにCSSを記述することで、IE9のみに適用させることができます!
@media screen and (min-width: 0\0) and (min-resolution: .001dpcm) {
.test {
color: #ff0000;
}
}
IE10のみに適用させる
以下のようにCSSを記述することで、IE10のみに適用させることができます!
_:-ms-lang(x), .test {
color: #ff0000\9;
}
IE11のみに適用させる
以下のようにCSSを記述することで、IE11のみに適用させることができます!
_:-ms-fullscreen, :root .test {
color: #ff0000;
}
複数のバージョンに対するCSSの記述方法
IE8~11にまとめて適用させる
以下のようにCSSを記述することで、IE8~11にまとめて適用させることができます!
@media screen\0 {
.test {
color: #ff0000;
}
}
IE9~11にまとめて適用させる
以下のようにCSSを記述することで、IE9~11にまとめて適用させることができます!
@media screen and (min-width: 0\0) and (min-resolution: +72dpi) {
.test {
color: #ff0000;
}
}
IE10~11にまとめて適用させる
以下のようにCSSを記述することで、IE10~11にまとめて適用させることができます!
_:-ms-input-placeholder, :root .test {
color: #ff0000;
}
EdgeのCSSハックの一覧
1つのバージョンに対するCSSの記述方法
Edge12のみに適用させる
以下のようにCSSを記述することで、Edge12のみに適用させることができます!
@supports (-ms-accelerator: true) and (not (color: unset)) {
.test {
color: #ff0000;
}
}
Edge13のみに適用させる
以下のようにCSSを記述することで、Edge13のみに適用させることができます!
@supports (-ms-accelerator: true) and (color: unset) {
.test {
color: #ff0000;
}
}
Edge14のみに適用させる
以下のようにCSSを記述することで、Edge14のみに適用させることができます!
@supports (-ms-ime-align: auto) and (not (-ms-accelerator: true)) and (not (-webkit-text-stroke: initial)) {
.test {
color: #ff0000;
}
}
複数のバージョンに対するCSSの記述方法
Edge12〜13にまとめて適用させる
以下のようにCSSを記述することで、Edge12〜13にまとめて適用させることができます!
@supports (-ms-accelerator: true) {
.test {
color: #ff0000;
}
}
Edge12〜14にまとめて適用させる
以下のようにCSSを記述することで、Edge12〜14にまとめて適用させることができます!
@supports (-ms-ime-align: auto) and (not (-webkit-text-stroke: initial)) {
.test {
color: #ff0000;
}
}
まとめ
以上がIE・EdgeのCSSハックの記述方法でした!
今後、新しいブラウザのバージョンが出た際にはまたご紹介できたら…と思います!




