IE6~11のCSSにおいて
- IE6でだけプロパティ名の前にアンダースコアがあっても同一視される
- IE6と7でだけプロパティ名の前にアスタリスクがあっても同一視される
- IE6〜10で、値の最後に\9を付けても値に影響しない
- IE6〜8で、:not(:target){ ~ }が解釈されない
- IE6〜9で、@media all and (-ms-high-contrast: none) { ~ } が解釈されない を組み合わせることでブラウザのバージョンによってCSSを変える
- IEのバージョン毎のハックを試してみる | cly7796.net css
.sample {
background: #000000;
background: #888888\9;
*background: #777777;
_background: #666666;
}
.sample:not(:target) {
background: #999999\9;
}
@media all and (-ms-high-contrast: none) {
.sample:not(:target) {
background: #bbbbbb;
background: #aaaaaa\9;
}
}
- これで6〜11のそれぞれで振る舞いを変えられるはずだが古いIEで検証するのが面倒なので確認はしてない