请看这个html页面:
<!DOCTYPE html>
<!--[if lt IE 7]><html class="no-js lt-ie9 lt-ie8 lt-ie7"> <![endif]-->
<!--[if IE 7]><html class="no-js lt-ie9 lt-ie8"> <![endif]-->
<!--[if IE 8]><html class="no-js lt-ie9"> <![endif]-->
<!--[if gt IE 8]><!--><html class="no-js"><!--<![endif]-->
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>Test</title>
<meta name="description" content="">
<!--[if IE 7]>
<script type="text/javascript">alert("IE7")</script>
<![endif]-->
<!--[if IE 8]>
<script type="text/javascript">alert("IE8")</script>
<![endif]-->
<!--[if IE 9]>
<script type="text/javascript">alert("IE9")</script>
<![endif]-->
</head>
<body data-pagename="home">
</body>
</html>
我无法理解为什么如果我在IE8和IE7中查看它都可以正常工作,而如果我在IE9中查看该页面,则警报就好像我在IE7中一样。
如果我改变了第一行在头标记之前
<!DOCTYPE html>
<html class="no-js">
<head>
一切正常。
好像doctype和head之间的某些东西改变了渲染beahviour。 问题是: 这是我的错,也许是因为我以非法的方式使用某些东西或者是IE9的错误?
答案 0 :(得分:0)
我无法理解为什么如果我在IE8和IE7中查看它一切正常,而如果我在IE9中查看该页面,则警报就像我在IE7中一样。
这很复杂:
<强>参考强>