Option #1

A single IE-only stylesheet inside of a conditional comment; inside that file, different versions of IE are targeted with hacks.

Drawbacks to #1

  • Every version of IE will load the extra styles, even the unused ones
  • Potentially adds an extra HTTP request
  • Changing something in the main stylesheet may require that you hunt down IE-only styles in a separate file

Benefits to #1

  • IE styles are in one file, so they’re easy to maintain

Option #2

Multiple IE-only stylesheets inside conditionals, each targeting a different version of IE.

Drawbacks to #2

  • Changing something in the main stylesheet may require that you hunt down IE-only styles in as many as 2 or more extra files

Benefits to #2

  • No unnecessary HTTP requests
  • No unnecessary lines of code loaded in the main stylesheet

Option #3

A single stylesheet that targets all browser, but within that stylesheet, IE-only hacks are present.

Drawbacks to #3

  • Unnecessary lines of code are loaded for all browsers
  • Your main stylesheet will not validate (thanks to comment from Jeremy Carlson for pointing this out)

Benefits to #3

  • No extra HTTP requests
  • No need to open multiple CSS files to adjust something that’s hacked for IE

Option #4

One or more JavaScript files inside of conditional comments that target different versions of IE, dynamically adding or removing styles and/or class names.

Drawbacks to #4

  • IE Browsers without scripting enabled will not see the corrected CSS
  • A slow loading script could cause the styles to be applied late, making the layout temporarily look awkward
  • Will be complicated to maintain, and could also require extra IE-only stylesheets, adding to the page bloat and slowness

Benefits to #4

  • Could work on buggy elements that won’t behave with pure CSS (I’ve seen this happen and have used this method when time/budget was limited and the CSS was too messy to deal with normally)

Option #5

Ignore IE.

Drawbacks to #5

  • Locking out a significant portion of your potential traffic/sales
  • Client screaming at you because the website looks like crap in IE

Benefits to #5

  • Only one hack-less stylesheet to maintain
  • Peace of mind (but short-lived because of the screaming client)