Rather than using hacks specifically for IE, why don't you use conditional comments instead? Check out the HTML5Boilerplate and how they deal with IE-specific styles.
More specifically, you can use conditional comments to add classes to the <html>
or <body>
elements, and then in your stylesheet, use those classes to target styles that fix specific IE problems or differences.
Here's the excerpt from the HTML5Boilerplate project that does this:
<!-- paulirish.com/2008/conditional-stylesheets-vs-css-hacks-answer-neither/ -->
<!--[if lt IE 7 ]> <html class="no-js ie6" lang="en"> <![endif]-->
<!--[if IE 7 ]> <html class="no-js ie7" lang="en"> <![endif]-->
<!--[if IE 8 ]> <html class="no-js ie8" lang="en"> <![endif]-->
<!--[if (gte IE 9)|!(IE)]><!--> <html class="no-js" lang="en"> <!--<![endif]-->
The comments will cause IE to use a particular version of the <html>
tag that has a class in it that corresponds to a particular version of IE. Using this same concept, you can easily extend to IE9, or to have other classes added to deal with IE-specific behaviors.