well usually if you did it right it will look perfect in every browser.....except for internet explorer
That would be nice, but with about half of internet users still using IE, you really have to try to conform. CSS, as you have been told, is a must and try browsershots.org to check screenshots of your site. You can set filters for stuff like excluding JS or flash, etc.
Its a problem of all the web designers..IE does not avoid errors but mozilla avoids errors.This error comes just because of wrong syntax or sometimes by not using full requirements of a container or tags.
Good clean source code and proper use of CSS 2.1. Most sites will look fine in Chrome, Safari, Opera, Firefox, and IE9 Beta. You can check your css code by using the http://jigsaw.w3.org/css-validator/ and you can check your HTML by using http://validator.w3.org/. Both of these utilities are created by the W3C. As for the lesser versions of IE. You can use conditional comments <!--[if IE 6]> <link rel="stylesheet" type="text/css" href="[path to]/stylesheet.css" /> <![endif]--> Code (markup): These conditional comments will allow you to add custom css for those specific versions of IE (you should only need to use them for IE 6, IE 7, and maybe IE 8). A great utility for testing for IE is http://www.my-debugbar.com/wiki/IETester/HomePage... seriously, it works wonders!
Make yourself fluent in HTML and CSS and you won't really have a problem with cross browser compatibility. I build my sites in firefox first (because firebox helps a lot with errors along the way), then I will test them in Chrome Safari and IE8. I often won't have any problems with Safari and Chrome, but usually IE8 will throw me something ridicules. As AtomicPages stated using an IE only style sheet makes things a whole lot easier.