NISHIO Hirokazu[Translate]
バッドノウハウの具体例
IE6~11のCSSにおいて
IE6でだけプロパティ名の前にアンダースコアがあっても同一視される
IE6と7でだけプロパティ名の前にアスタリスクがあっても同一視される
IE6〜10で、値の最後に\9を付けても値に影響しない
IE6〜8で、:not(:target){ ~ }が解釈されない
IE6〜9で、@media all and (-ms-high-contrast: none) { ~ } が解釈されない
を組み合わせることでブラウザのバージョンによってCSSを変える
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で検証するのが面倒なので確認はしてない

"Engineer's way of creating knowledge" the English version of my book is now available on [Engineer's way of creating knowledge]

(C)NISHIO Hirokazu / Converted from [Scrapbox] at [Edit]