We had an issue where a menu dropdown was rendering differently on the dev server in contrast to what we had locally. After doing an exhaustive comparison of the css on local and on the dev server they were identical.
As it turns out IE8 has compatibility modes which allow the user to choose how the website will be rendered. You can acess this feature via: Tools | Compatibility View Settings. This feature is quite useful for sites that haven’t been updated to support more strict HTML standards. What is of interest to us is IE8 defaults to have all intranet sites put into “Compatibility View”. This explained why it rendered perfectly fine in IE8 locally but exhibited rendering issues once accessed on the dev server via the intranet.
We were able to fix this issue by adding the following meta tag to the head section of the MasterPage. This basically tells IE8 to render in Standard Mode. This has no effect on IE6 so things work as designed:
<%--This enforces IE8 standard mode since compatibility view throws off styling--%> <meta http-equiv="X-UA-Compatible" content="IE=8" >
Edit: It appears that if the Intranet zone is configured to “Display intranet sites in Compatibility View” this solution above will not force the pages into IE8 Standards mode as the browser settings are overriding this.
To get around this you need to have a Group Policy set up.
Edit (01/16/2012) It appears you can get around this by adding the necessary property to the page header.
Adding the following to the base page class that all pages inherit from will ensure all pages render in IE8 standard mode (not compatibility mode) even if viewing from Intranet which defaults to compatibility mode.