This is driving me insane.
No matter what I try, Internet Explorer is switching to IE7 Standards Document Mode. I have tried stripping my code back to nothing to try and get it to behave, using HTML5 boilet plate AND HTML5 reset (whose own site goes into Quirks Mode).
I have also added the meta tag that is supposed to force IE to it’s latest version no matter what, but all that has done is made my mark-up invalid according to W3C.
This is what I have; what am I missing?
<!doctype html>
<!--[if IE 7 ]> <html class="ie7> <![endif]-->
<!--[if IE 8 ]> <html class="ie8> <![endif]-->
<!--[if gt IE 8]><!--><html><!--<![endif]-->
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title></title>
<link rel="stylesheet" href="css/style.css">
</head>
<body>
<p>Test text</p>
</body>
</html>
EDIT
I have a solution found via a suggestion below. The suggestion didn’t work, but it did lead me to an answer. This might not be 100% suitable for everyone since it imposes a class on the body tag rather than html, but it works for me and seems to work for IE.
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<link rel="stylesheet" href="css/style.css">
</head>
<!--[if IE 7 ]> <body class="ie7> <![endif]-->
<!--[if IE 8 ]> <body class="ie8> <![endif]-->
<!--[if gt IE 8]><!--><body><!--<![endif]-->
<p>Test text</p>
</body>
</html>
I have a solution found via an earlier suggestion. The suggestion didn’t work, but it did lead me to an answer. This might not be 100% suitable for everyone since it imposes a class on the
bodytag rather thanhtml, but it works for me and seems to work for IE.EDIT
I have actually stopped using the above and now add my IE specific classes to the
htmlelement, as suggested in HTML5BP.Also note that you may want to remove
chrome=1from the meta tag as Chrome Frame is being killed off soon. No harm in keeping it though for those rare cases where someone is still using it though.Another thing to check which I don’t think has been mentioned is the status of what is probably the most irritating setting in IE – ‘Display intranet sites in Compatibility View’. If you run a testing server with a name like
http://mytestserver:8888IE will think it’s an intranet site and switch modes regardless of what you do in your document head.This setting is enabled in my company’s group policy as our ancient sharepoint intranet actually relies on it. Great for the old crap, but terrible for the new stuff which is actually going to adhere to standards.
Switch that f***er off in
Tools > Compatibility View Settingsand be prepared to switch to it manually if you have any legacy sites.