I have used conditional comments and avoided CSS hacks as much as possible to prevent future compatible issues.
I have found that the majority of browsers support font, colour, and absolute positioning fairly consistently, so I created a shared.css that contains features that will work with all browsers, with style sheets below extending the shared stylesheet as required (@include:url...).
00 <style type="text/css">
@import url('/_site/basic.css'); // must be single quotes
</style>
01 <!-- WIN IE Style Sheets -->
02 <!--[if IE]>
03 <![if gte IE 5.5]>
04 <![if gte IE 7]><link rel="stylesheet"
type="text/css" media="screen,projection"
href="/_site/ie_win_7x.css" />
<![endif]>
05 <![if lt IE 7]><link rel="stylesheet"
type="text/css" media="screen,projection"
href="/_site/ie_win_5.5x_6x.css" />
<![endif]>
06 <![endif]>
07 <![if lt IE 5.5]>
08 <link rel="stylesheet"
type="text/css" media="screen,projection"
href="/_site/ie_win.css" />
<![endif]>
09 <![endif]-->
10 <!-- Everything else -->
11 <!--[if IE]><![if !IE]><![endif]-->
12 <!-- standard : Sam Foster's comment hack (hide from MAC IE) -->
<style type="text/css" media="screen,projection">
/*\*/ @import url("/_site/standard.css") all; /**/
</style>
13 <!-- MAC IE : Tantek Çelik comment hack (only for MAC IE) -->
<style type="text/css" media="screen,projection">
/*\*//*/ @import url("/_site/ie_mac.css"); /**/
</style>
14 <!--[if IE]><![endif]><![endif]-->
15 <!-- Netscape 4.x Style Sheets (because I can) -->
<script type="text/javascript">
<!--//--><![CDATA[//><!--
16 if(document.layers) {
document.write(unescape('%3CLINK%20href%3D%22
/_site/netscape-4x.css%22%20rel%3D%22
stylesheet%22%20type%3D%22text/css%22%20/%3E')); }
17 //--><!]]></script>
Fortunately browsers are moving to more consistent implimentation of standards (e.g. IE 7), unfortunately not everone has updated to the latest versions.
The browser wars are ending, but there are still the old browsers of the 90s and early 2000s that some people still use, and the bane of my existence IE for the Mac (come on Mac people, switch to Safari or Firefox already).
This all started when for the weatheroffice website I had to find a way to use CSS for layouts, avoid javascript, provide static pages (no server side detection of browsers allowed due to load on the servers), and pass W3C CSS, and XHTML strict verification.
The end result is that my standard.css stylesheet is the default stylesheet for my site, with the other non-standards browsers recieving what they need to deal with their 'quirks'.