0

我有以下额外的样式表来处理 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 兼容视图”。

如果我删除这个标签是在 IE7 模式下运行。

4

5 回答 5

0

我没有安装 IE9,但在 IE8 中有这个按钮,您可以在其中切换模式。同样从工具菜单中,您可以指定它是否会在本地站点和本地 Intranet 站点的组合视图中运行,我记得这是默认设置,不确定 MS 是否清除了 IE9 中的混乱。

于 2012-08-16T16:42:51.593 回答
0

不确定它为什么会选择它,因为这一切对我来说都是正确的,但是如果你还没有它,你可以尝试强制它使用带有以下元标记的最佳渲染模式:

<!-- Force best rendering mode for IE -->
<meta http-equiv="X-UA-Compatible" content="IE=edge" >
于 2012-08-16T16:18:33.017 回答
0

尝试以下操作:

<!--[if lte IE 7]>

这应该只加载 IE7 或更低版本的样式表(lte = 小于或等于)。愿这会有所帮助。

或者,你应该看看这里:Why is Stylesheet loading when Contional Comment 声明它应该被忽略?

于 2012-08-16T16:19:48.917 回答
0

网站是否在 Intranet 上?如果是这样,那是默认设置,但元标记应该更正它。 http://windows.microsoft.com/en-us/windows7/How-to-use-Compatibility-View-in-Internet-Explorer-9

于 2012-08-16T16:59:40.550 回答
0

This appears to be a bug in the IE Developer Tools. If I run the page on most machines it works as expected and doesn't load the IE7 styles. With Developer Tools open, it seems to jump to IE7 mode in the Developer Tools for some inexplicable reason. The problem only occurs with developer tools open.

于 2012-09-03T15:10:07.123 回答