Internet Explorer条件注释标记

时间:2015-08-12 10:32:09

标签: html internet-explorer

现在,Internet Explorer不再支持像<![if IE]><![endif]>这样的条件标记,你们如何只为IE处理自定义代码?我需要插入我想要仅用于IE的自定义CSS。我找不到任何简单的解决方案。

1 个答案:

答案 0 :(得分:1)

选项1 - 适用于IE10

<script>
if(Function('/*@cc_on return document.documentMode===10@*/')()){
document.documentElement.className+=' ie10';
}
</script>

用于设计样式的CSS:

.ie10 .yourclass {
   /* IE10-only styles go here */
}

选项2 - 对于IE10(原始建议)

使用Javascript:

var doc = document.documentElement;
doc.setAttribute('data-useragent', navigator.userAgent);

HTML:

<html data-useragent="Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; Trident/6.0)">

CSS样式将是(如果需要):

html[data-useragent*='MSIE 10.0'] .yourclass {
  color: blue;
}

来源:css-tricks

对于IE 6到9:

    <!--[if IE]>
    IE<br />
    <![endif]-->
    <!--[if IE 6]>
    IE 6<br />
    <![endif]-->
    <!--[if IE 7]>
    IE 7<br />
    <![endif]-->
    <!--[if IE 8]>
    IE 8<br />
    <![endif]-->
    <!--[if IE 9]>
    IE 9<br />
    <![endif]-->
    <!--[if gte IE 8]>
    IE 8 or higher<br />
    <![endif]-->
    <!--[if lt IE 9]>
    IE lower than 9<br />
    <![endif]-->
    <!--[if lte IE 7]>
    IE lower or equal to 7<br />
    <![endif]-->
    <!--[if gt IE 6]>
    IE greater than 6<br />
    <![endif]-->
    <!--[if !IE]> -->
    Not IE 5-9<br />
    <!-- <![endif]-->