我有以下额外的样式表来处理Internet Explorer上旧版本中的一些顽皮浏览器行为:
<!--[if IE 8]>
<link rel="stylesheet" href="/CallCentre/ServiceCloud/Content/IE8.css">
<![endif]-->
<!--[if IE 7]>
<link rel="stylesheet" href="/CallCentre/ServiceCloud/Content/IE7.css">
<![endif]-->
我遇到的问题是,只有IE7.css中存在的规则才会在Internet Explorer 9中应用。
为什么IE9使用我的条件IE7样式表?
更新
Oded和hsalama正朝着正确的方向前进。
如果我使用:
<meta http-equiv="X-UA-Compatible" content="IE=edge">
或者
<meta http-equiv="X-UA-Compatible" content="IE=9">
加载“浏览器模式:IE9 Compat View”。
如果删除此标记,则以IE7模式运行。
答案 0 :(得分:0)
不确定为什么它会选择它,因为所有看起来都适合我,但你可以尝试强制它使用带有以下元标记的最佳渲染模式,如果你还没有它:< / p>
<!-- Force best rendering mode for IE -->
<meta http-equiv="X-UA-Compatible" content="IE=edge" >
答案 1 :(得分:0)
尝试以下方法:
<!--[if lte IE 7]>
这应仅加载IE7或更低版本的样式表(lte =小于或等于)。愿这有用。
或者,你应该看看这里:Why is Stylesheet loaded when Contional Comment states it should be ignored?
答案 2 :(得分:0)
我没有安装IE9,但在IE8中有这个按钮,你可以在这个模式之间切换。同样从工具菜单中,您可以指定它是否会在本地站点和本地Intranet站点的comp视图中运行,我记得这是默认值,不确定MS是否清除了IE9中的混乱。
答案 3 :(得分:0)
该网站是否在Intranet上?如果这是默认值,但元标记应该更正。 http://windows.microsoft.com/en-us/windows7/How-to-use-Compatibility-View-in-Internet-Explorer-9
答案 4 :(得分:0)
这似乎是IE Developer Tools中的一个错误。如果我在大多数机器上运行该页面,它按预期工作,并且不加载IE7样式。随着开发人员工具的打开,它似乎在开发者工具中跳转到IE7模式有一些莫名其妙的原因。只有打开开发人员工具才会出现此问题。