A layout doesnt need to look exactly the same in every browser, but it needs to degrade gracefully in order to expose the core functionality.
What I have learned developing layouts for different browsers is that, the less hacks you use, the better.
This should in theory, be increasinly easy to do, with the demise of IE6.
a short list would include:
- reset the css
- use a js framework that's tested
against the majority of browsers
- dont use css hacks
- validate your html
- make your web developers work closely
with your web designers, or have 1
person be both.
- test against the browsers you want to
be compatible with
- know your browsers streghts and
weakneses
virtual machines are your friends for cross browser testing, or stand alone (portable) apps.