I know we've discussed IE6 and its myriad problems here before, and I'm strongly on the side of dropping support if your audience is tech-savvy enough to not being using it.
But for sites that do have to keep supporting it, I wanted to point out a few techniques I use when developing sites that keep IE6 headaches to a minimum:
Next, I explicitly set the margins and padding on list items, paragraphs, and other major elements, so that default settings don't mess things up.
For JavaScript, I use jQuery, which lets me focus on the interactivity I'm trying to create rather than worrying about cross-browser compatibility. I also use jQuery to set rollovers on elements where IE6 doesn't support the CSS hover property.
But for sites that do have to keep supporting it, I wanted to point out a few techniques I use when developing sites that keep IE6 headaches to a minimum:
First, I make sure to clear floats using the method described in this article: http://www.positioniseverything.net/easyclearing.html
Next, I explicitly set the margins and padding on list items, paragraphs, and other major elements, so that default settings don't mess things up.
For JavaScript, I use jQuery, which lets me focus on the interactivity I'm trying to create rather than worrying about cross-browser compatibility. I also use jQuery to set rollovers on elements where IE6 doesn't support the CSS hover property.
Finally, if I need to set some style specifically for IE6 only, I use the underscore technique described here: http://web2pointo.wordpress.com/2008/03/02/css-hack-for-ie6-...
As long as I stick to these things, most IE6 issues don't affect me. Hope it helps!