在没有javascript的情况下定位大于9的IE版本

时间:2014-01-27 18:50:47

标签: html css internet-explorer

由于IE 10+版本不支持条件注释,因此您建议将某些CSS规则应用于这些版本。我已经用它来涵盖IE9和更老的版本:

<!--[if IE]>
   <link rel="stylesheet" type="text/css" href="css/ie.css">
<![endif]-->

还有什么方法可以将所有IE版本的CSS规则放在一个文件中,但是通过评论或其他类似的方式将其中一些用于特定的IE版本区分?

编辑:在这种情况下,也不可能进行服务器端检测。

2 个答案:

答案 0 :(得分:1)

如果IE忽略条件并且JavaScript不是选项,我能想到的唯一解决方案是在服务器端嗅探用户代理,假设您没有提供直接的HTML文件,而是由后端/服务器生成的HTML边脚本语言。如果在用户代理字符串中看到“MSIE 10”,则可以更改生成的HTML以在body标记中输出特定的IE10类。

请注意,您必须有充分的理由这样做,因为当无法运行客户端代码时无法使用功能检测...

答案 1 :(得分:0)

没有Javascript

取决于您的服务器端设置。在PHP中,您可以在稍微配置后访问使用get_browser()。然后你可以吐出特定的css,或者只是在body / html中添加一个类(不确定是否为html元素添加类是有效的。

使用Javascript

JS / jQuery的

if ($.browser.msie && $.browser.version == 10) {
  $("body").addClass("ie_ten");
}

CSS

body.ie_ten{
    /* ie specific stuff */
}