Cross browser compatibility is a major bugbear with every web developer in the world - no matter what web development software they are using. So it's not a NOF problem.
If you ask any seasoned developer they would all put the blame on one thing - MICROSOFT. All versions of Internet Explorer have always bent the rules to suit Microsoft.
The general consensus is to design and develop your pages in Firefox. Once you are happy with all aspects of your site in Firefox you then test each page in other browsers you suspect your visitors will use, so this includes Chrome, Safari for sure and then Opera and maybe one or two other less well known/used browsers if you feel inclined. In these browsers you probably wont need to make many (if any) adjustments (except for Opera). When you are happy with the site in these browsers and know that it still works in Firefox then you can begin the arduous, painful, annoying and needless task of testing in several versions of Internet Explorer - 9, 8 and 7...and they all present different issues as they all use non standard code or their own variations or in many cases just don't support many standard features.
There are several ways to overcome the problems with IE specific code - often seen in a web page source as
Code:
<!--[if lt IE 7]>< and here would go the different requirements for whatever version of IE is used....
Google CONDITIONAL STATEMENTS and also visit http://msdn.microsoft.com/en-us/libr...=vs.85%29.aspx to see examples of the various ways we all have to bend over to ensure IE users see what we design. These conditional statements apply to HTML markup and to CSS tweaking.