I have been using Internet Explorer 8.0 since the release of Beta 1. IE 8 requires more standards compliance in the code of web pages for them to display correctly. Today I was catching up on my RSS Feeds and came across this very useful article - Configuring IIS to work around webpage display issues in Internet Explorer 8.0 and this article discusses the use of adding a HTTP Response Header which then informs IE to run in IE Compatibility mode, therefore rendering the page as it would render in Internet Explorer 7.
The article gives complete details of how to set this up on IIS6 and 7 (integrated and classic mode) and it is very straight forward. I have implemented it on our live webserver but not on our development server - so we can fix the issues rather than relying on compatibility mode. Also the default is to set this for your entire server, i.e. any sites, applications and pages served. However by adding this remove tag into the root web.config of a site you can remove the use of the HTTP Response Header from that particular site and the site will run in true mode (remember to place the httpProtocol element within the system.webServer element in your configuration):
I must stress I definitely see this as a temporary workaround and only as a backup plan to buy you a little time to sort out the rendering issues! I would always advocate coding your XHTML and CSS to correct standards!! Standards Compliance has many added benefits including search engine optimisation and accessibility benefits for users of your sites!!