Are CSS hacks and filters necessary?
Depends on the site. For example, saila.com relies on conditional comments to serve styles to IE, and is designed to support Mozilla/Opera (fourth generation browsers are, essentially, ignored).
On commercial sites that require pixel-identical support for Netscape 4.x through IE 6, I tend to:
- use a DOCTYPE that puts browsers in strict mode (so IE 6, IE5/Mac, Safari, Mozilla, and Opera work basically the same)
- use the simplified box model hack to set widths for IE 5 and IE 5.5 on Windows;
- and use a separate Netscape 4.x style sheet (called via JavaScript, or hidden using the Fabric’s Inversion), or use Caio’s Hack (or
html * { declaration; }) to hide individual rules.
Even in those cases were filters/hacks are used, they are used quite minimally. Whenever possible avoid creating “pixel-identical” sites. Of course, it depends on:
- what browsers your client wants to support (fourth-generation, fifth-, or sixth- plus)—the older the generation the more filters/hacks come in handy;
- and whether complex, pixel-identical sites are required.
The most important thing is to know the quirks of different browsers, so when problems are encountered you can fix them by adjusting the CSS or, if necessary, use the appropriate filter/hack.