The thing that will make the most difference cross-browser, not mentioned above, is to ensure your html validates - see my signature for a link. Invalid code will cause a lot of cross browser differences.
Browsers have different standard settings on paddings and margins - so normalise these as suggested with:
I prefer to test in Firefox - use Firebug (see signature again) to help you. Once it's OK and validated in Firefox, check other browsers. Mostly, if you've done it right, it should be OK in Opera, Chrome and Safari. Occasionally Safari and Chrome will handle clearing floated elements slightly differently.
IE9 should be OK as well.
In most cases, IE8 is probably going to be OK, as well. Don't think I've written a conditional statement for IE8 yet....and should really only be a last resort.
For IE7 it's a different ball game, and IE6 is even worse, if you need to support it. Conditional css is likely to be necessary here. If you need to worry about IE7 and under have a look at this now rather dated post