IE10 条件 IE 注释 <!--> 功能启用器

Posted

技术标签:

【中文标题】IE10 条件 IE 注释 <!--> 功能启用器【英文标题】:IE10 conditional IE comments <!--> functionality enabler 【发布时间】:2012-12-16 16:00:28 【问题描述】:

在 IE10 中调试我的 ASP.NET MVC(基于 Razor)网站时,我仍然需要设置 IE 特定的 css。使用 IE 条件 cmets 时,在将 IE10 切换到 IE8 标准渲染模式时,以下语法有效:

<!--[if IE]><!--> 
<link href="@Url.Content("~/Content/global/global.ie.css")" rel="stylesheet" type="text/css">
<!--<![endif]-->

而这 - 没有:

<!--[if IE]> 
<link href="@Url.Content("~/Content/global/global.ie.css")" rel="stylesheet" type="text/css">
<![endif]-->

后面的语法在大多数提供条件 cmets 信息的网站上作为示例给出,包括 MSDN 上的官方页面。这两者有什么区别?提前谢谢你。

【问题讨论】:

哦,为什么? IE 10 修复(不支持)条件 cmets .. :-/(尽管在 IE9 或 文档模式之前运行时它应该支持条件 cmets。) 【参考方案1】:

使用“下层显示的条件注释”让它工作......

语法:

<![if IE]>    
     ...statements...  
<![endif]>

示例:

<![if IE]>    
    <link href="@Url.Content("~/Content/global/global.ie.css")" rel="stylesheet" type="text/css">  
<![endif]>

更多信息:

某些验证服务将下层显示的条件注释语法标记为无效 html。可以添加其他字符以在要显示的 HTML 内容之前和之后构建有效的 HTML 注释。

<!--[if !IE]>--> 
    YOUR HTML 
<!--<![endif]-->

在上面的示例中,否定条件表达式阻止 Internet Explorer 在下层显示的条件注释块中显示 HTML 内容。但是,如果条件表达式的计算结果为真,则第一条评论的结束“-->”将与 HTML 内容一起出现在 Internet Explorer 中。要对 Internet Explorer 用户隐藏这些字符,请添加“

<!--[if !IE]><!--> 
    YOUR HTML 
<!--<![endif]-->

示例:

这里有更多条件 cmets 的示例。

<!--[if IE]><p>You are using Internet Explorer.</p><![endif]-->
<![if !IE]><p>You are not using Internet Explorer.</p><![endif]>

<!--[if IE 7]><p>Welcome to Internet Explorer 7!</p><![endif]-->
<!--[if !(IE 7)]><p>You are not using version 7.</p><![endif]-->

<!--[if gte IE 7]><p>You are using IE 7 or greater.</p><![endif]-->
<!--[if (IE 5)]><p>You are using IE 5 (any version).</p><![endif]-->
<!--[if (gte IE 5.5)&(lt IE 7)]><p>You are using IE 5.5 or IE 6.</p><![endif]-->
<!--[if lt IE 5.5]><p>Please upgrade your version of Internet Explorer.</p><![endif]-->

<!--[if true]>You are using an <em>uplevel</em> browser.<![endif]-->
<![if false]>You are using a <em>downlevel</em> browser.<![endif]>

<!--[if true]><![if IE 7]><p>This nested comment is displayed in IE 7.</p><![endif]><![endif]-->

内容取自 Valid HTML for downlevel-revealed conditional comments

【讨论】:

如何将它与 asp-append-version="true" 标签助手结合起来?

以上是关于IE10 条件 IE 注释 <!--> 功能启用器的主要内容,如果未能解决你的问题,请参考以下文章

IE条件注释

IE版本判断条件注释

IE里的条件注释

条件注释判断浏览器版本<!--[if lt IE 9]>

ie条件注释

条件注释判断浏览器<!--[if !IE]><!--[if IE]><!--[if lt IE 6]><!--[if gte IE 6]>