古いIE用にhtmlタグにバージョンclassをさくっと追加する。

古いIEのバージョンごとにCSSを分けたい場合、頑張って判別用JSを用意したり、CSSハックしたり面倒なのですが、単純に html タグに class="ie6" とか勝手に入ってくれればそれ用のCSSを書いて対応するだけなので、その方がカンタンかと思います。

<!--[if IE 6]><html class="ie6"><![endif]-->
<!--[if IE 7]><html class="ie7"><![endif]-->
<!--[if IE 8]><html class="ie8"><![endif]-->
<!--[if gte IE 8]><html class="ie9"><![endif]-->
<!--[if !IE]><!--><html><!--<![endif]-->
<head>
<title>xxxx</title>
~

これで、HTML読み込みの際に、IE8なら <html class="ie8"> に、IE9なら <html class="ie9"> としてクラスが追加になります。

なので、例えばIE8のメインコンテンツだけ背景を赤くしたい場合は、CSSにて、

html.ie8 .content {
    backgound-color: red;
}

とすればいいだけです。簡単ですね。

但し、IE10からはそもそも条件付きコメント(<!--[if IE x]>)が使えないので、上記方法はIE6~IE9までとなります。

ご参考まで。

参考にさせていただいたサイト