Обычно достаточно создать таблицу стилей, которая будет хорошо выглядеть в обычных браузерах, а затем создать дополнительную таблицу стилей только для IE, которая исправляет несовместимости и включает ее через условные комментарии (хотя IE8 + вроде бы в порядке, а IE7 обычно работает):
<!--[if IE]>
<link rel="stylesheet" href="/ie_sheet.css" type="text/css">
<![endif]-->
Поскольку IE6 - ужасный монстр с незапамятных времен, для которого нужны свои особые хаки, вы можете включить другую таблицу стилей для IE6 (и ниже) и IE7 (и выше; в действительности не требуется большую часть времени):
<!--[if lte IE 6]>
<link rel="stylesheet" href="/ie6_sheet.css" type="text/css">
<![endif]-->
<!--[if gt IE 6]>
<link rel="stylesheet" href="/ie_newer_sheet.css" type="text/css">
<![endif]-->
Другие браузеры анализируют их как комментарии HTML и игнорируют их.
См. Также: более подробное обсуждение условных комментариев .