如何使用Jade插入多个条件注释?

时间:2013-11-25 16:19:12

标签: pug

Jade中,如何插入多个条件注释,如下所示?

<!-- Foundation 3 for IE 8 and earlier -->
<!--[if lt IE 9]>
    <link rel="stylesheet" href="/css/foundation3/normalize.css">
    <link rel="stylesheet" href="/css/foundation3/foundation.css">
    <link rel="stylesheet" href="/css/foundation3/app.css">
<![endif]-->
<!-- Foundation 4 for IE 9 and earlier -->
<!--[if gt IE 8]><!-->
    <link rel="stylesheet" href="/css/foundation4/normalize.css">
    <link rel="stylesheet" href="/css/foundation4/foundation.css">
<!--<![endif]-->

到目前为止,我尝试了以下操作,但它没有创建额外的<!--><!--<![endif]-->

//if lt IE 9
    link(rel="stylesheet",href="/css/foundation3/normalize.css")
    link(rel="stylesheet",href="/css/foundation3/foundation.css")
    link(rel="stylesheet",href="/css/foundation3/app.css")
//if gt IE 8
    link(rel="stylesheet",href="/css/foundation4/normalize.css")
    link(rel="stylesheet",href="/css/foundation4/foundation.css")

这将简单地将每个条件注释块包装在<!--[if le IE X]> ... <![endif]>中。我知道我可以做this,但有什么更好的吗?

1 个答案:

答案 0 :(得分:3)

在2013年11月回答问题时,我相信你问的是Jade生成IE条件评论的旧方法。

我将回答你的问题,为你提供翡翠版本1.0.0(2013年12月22日发布)中引入的新方法,因为你现在可能会使用新的Jade版本。

请注意,Jade 1.0.0及更高版本不再支持旧方法(由Jade评论生成IE条件注释,例如//if IE 8),并且无意将其放回。

新方法是使用格式良好的IE条件注释。因此,为了生成上述IE条件注释,Jade模板必须如下:

<!--[if lt IE 9]>
link(rel="stylesheet",href="/css/foundation3/normalize.css")
link(rel="stylesheet",href="/css/foundation3/foundation.css")
link(rel="stylesheet",href="/css/foundation3/app.css")
<![endif]-->
<!--[if gt IE 8]><!-->
link(rel="stylesheet",href="/css/foundation4/normalize.css")
link(rel="stylesheet",href="/css/foundation4/foundation.css")
<!--<![endif]-->

输出HTML如下:

<!--[if lt IE 9]>
<link rel="stylesheet" href="/css/foundation3/normalize.css">
<link rel="stylesheet" href="/css/foundation3/foundation.css">
<link rel="stylesheet" href="/css/foundation3/app.css">
<![endif]-->
<!--[if gt IE 8]><!-->
<link rel="stylesheet" href="/css/foundation4/normalize.css">
<link rel="stylesheet" href="/css/foundation4/foundation.css">
<!--<![endif]-->

请注意,使用Jade 1.0.0及更高版本,使用HTML注释是安全的,因为Jade将忽略以<字符开头的任何行。

你也可以访问Jade的IE Con​​ditional Comments中的this post,其中讨论了Jade版本0.35.0和1.0.0之间的区别。它还显示了使用Jade mixins机制进行条件格式化的替代方法。

我希望这会有所帮助。