Microsoft's Internet Explorer program has never had good standards support. Not for CSS, at any rate. Now I find that the new version, IE7, has little better support than IE6, or even IE5. The cause? Badly written CSS parsers and just plain ignorance. Microsoft has had many opportunities to update IE with the new standards, but hasn't. IE7 was years in the making, and its support is almost worse than IE6.
A new website I am developing works perfectly in Mozilla Firefox versions 1.5 and 2.0, but breaks something horrible in IE 6 and 7. The code, validated by the W3C, checks out perfectly within specs, and I was even offered "Valid CSS" and "Valid HTML 4.01" icons for my site. They'll be worked into the design, but IE mangles the test page. Borders disappear, content is overlapped by things that aren't even there, and it doesn't support the :before and :after pseudo-elements. I used conditional comments (like ) to notify my future visitors of the problem. I shouldn't have to do all this, but I have to because Microsoft just doesn't get it.
I aim to keep the site CSS hack-free, and refuse to use anything but valid code that gives me the right to display W3C buttons on my site. If it doesn't validate, I won't use it, and visitors to my site will need Firefox to view the content properly. It's readable in IE, but not very elegant, and definitely not attractive. Maybe it's arrogant, maybe it's stupid; but maybe it's a good example that all web designers should follow.