The term standards compliant and Internet Explorer in the same sentence up until now would seem (especially to web developers) a bit of an oxymoron. However, as a part of Internet Explorer 8 there is a real push from Microsoft to toe the line on standards compliance, which I applaud them for. This has brought around a tricky situation though as previously web designers have had to bend, hack and even write entirely separate Internet Explorer specific code in order for it to render web content in the required manner. The result this has had is that all this Internet Explorer specific code out there no longer displays correctly when using Internet Explorer 8 as it is much more in line with the other standards compliant web browsers. These sites don't know this though and seeing that the visiting browser is Internet Explorer just send them the Internet Explorer specific content regardless. So how do you get around this?
Well, there are two ways with Internet Explorer 8. First the client can simply turn on the Emulate IE 7 option by clicking on the Emulate IE 7 button on the menu bar and then restart Internet Explorer 8. This is a blanket option which will then take effect on all websites.
The second method is done on a per site and a per page basis by the webmaster of that site using a custom HTTP header or using a HTML meta tag. The per site method uses a custom HTTP header as follows;
X-UA-Compatible: IE=EmulateIE7<body> tag as follows;<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" />