首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Jade模板引擎中的IE条件语句

Jade模板引擎中的IE条件语句
EN

Stack Overflow用户
提问于 2013-12-31 07:49:27
回答 3查看 5.2K关注 0票数 6

如何用JADE语言转换以下IE条件语句:

代码语言:javascript
复制
<!--[if IE 8]> <html lang="en" class="ie8"> <![endif]-->
<!--[if IE 9]> <html lang="en" class="ie9"> <![endif]-->
<!--[if !IE]><!--> <html lang="en"> <!--<![endif]-->

我试过以下几点,但没有用:

代码语言:javascript
复制
//if IE 8
    html lang="en"  class="ie8"
//if IE 9
    html lang="en" class="ie9"
//if !IE
    html lang="en"
// <![endif]

它显示了以下产出:

代码语言:javascript
复制
<!--if IE 8html lang="en"  class="ie8"
-->
<!--if IE 9html lang="en" class="ie9"
-->
<!--if !IEhtml lang="en"
-->
<!-- <![endif]-->

有人能指导我如何纠正它吗。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2014-01-03 04:02:56

几个月前取消了对//if IE 8条件注释语法的支持:Git提交

版本0.35是支持它们的最后一个版本;v1.0是删除后的第一个版本。

我一直在使用文字样式@Jayram使用;唯一的区别是条件逻辑la h5bp和结束的html标记:

代码语言:javascript
复制
| <!--[if IE 8]>         <html lang="en" class="lt-ie9"> <![endif]-->
| <!--[if gt IE 8]><!--> <html lang="en"> <!--<![endif]-->

注意:记得用| </html>关闭文档,因为初始的html标记不是Jade的自关闭语法。

票数 9
EN

Stack Overflow用户

发布于 2013-12-31 11:58:30

这段代码应该能像预期的那样工作。它适用于0.35.0的Jade版本。

请注意,最后一个html元素需要是正确的Jade元素(这就是为什么属性在圆括号(...)中)。前两个元素是注释的一部分,因此应该格式化为HTML元素。

代码语言:javascript
复制
//if IE 8
    <html lang="en" class="ie8">
//if IE 9
    <html lang="en" class="ie9">
//[if !IE]><!
html(lang="en")
    //<![endif]

页面中的输出如下:

代码语言:javascript
复制
<!--[if IE 8]><html lang="en" class="ie8"><![endif]-->
<!--[if IE 9]><html lang="en" class="ie9"><![endif]-->
<!--[if !IE]><!--><html lang="en"><!--<![endif]-->

编辑

截至版本1.0.0 (2013年12月22日发布在上),Jade不再解析评论内容,也不再支持IE条件注释。

新方法是使用格式良好的IE条件注释。这样做是安全的,因为现在Jade忽略了以<开头的任何行。

您的代码可以如下:

代码语言:javascript
复制
<!--[if IE 8]><html class="ie8" lang="en"><![endif]-->
<!--[if IE 9]><html lang="en" class="ie9"><![endif]-->
<!--[if !IE]><!-->
html(lang="en")
  <!--<![endif]-->

注意,html元素将由Jade处理(包括它的所有特性,例如从请求处理方法中设置类名),因此您应该在Jade文件的末尾添加而不是附加| </html>

您还可以参考Jade模板引擎中的IE条件注释帖子,以替代使用Jade与IE条件注释混合。

我希望这会有所帮助。

票数 6
EN

Stack Overflow用户

发布于 2013-12-31 09:52:09

像这样用它。这对我有用。

代码语言:javascript
复制
   | <!--[if IE 8]> <html lang="en" class="ie8"> <![endif]-->
   | <!--[if IE 9]> <html lang="en" class="ie9"> <![endif]-->
   | <!--[if !IE]><!--> <html lang="en"> <!--<![endif]-->
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20853844

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档