古い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までとなります。
ご参考まで。