这是因为IE自从IE9开始,会对网页的MIME类型进行验证,如果MIME类型不正确的话,就不会加载相应的样式表或者JS文件,这也是出于安全的考虑。\x0d\x0a造成IE9以上浏览器无法加载CSS样式表的,有几个可能的原因,一个可能是你的CSS样式引用的书写方式不正确,导致在IE9和IE10下面无法通过MIME的检查,如果是这个原因,在代码里面修改一下css样式引用的方法就行了。\x0d\x0a另外一个可能的原因,可能是你在电脑里面安装了代理软件或者其他什么与代理相关的软件,如wallproxy之类的,这一类软件可能会在打开本地HTML文件时修改mime类型,把type替换为stain之类,这个没有什么特别好的解决方法,要么卸载这些软件,要么重新安装一下试试。\x0d\x0a如果你是自己配置服务器后出现了这个问题,那么就可能是第三个原因了,在服务器端没有配置css的mime类型,这个对应的在IIS或者apache里面添加一下css的type就行了。IE10是出来了,但国内很大一部分windows系统,安装的仍然是IE8浏览器。
对于<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE8" />代码也只是模式申明,并非一定要加。
重要的是写的CSS代码要兼容那些主流浏览器,如果兼容性代码写的不是很好,加一行上方的申明是有必要的,毕竟IE8的一些特性是其他浏览器没有的。