2013-11-25 42 views
4

Jade中,如何插入多條條件註釋,如下所示?如何使用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,但還有什麼更好的嗎?

+0

實際上IE8是否需要額外的''?你測試過了嗎? –

+0

你有沒有想過這個想法? – JGallardo

回答

3

由於這個問題在2013年11月被問過,我相信你問的是由Jade生成IE條件註釋的舊方法。

我會回答你的問題,爲您提供在Jade版本1.0.0(2013年12月22日發佈)中引入的新方法,因爲您現在可能使用新的Jade版本。

請注意,Jade 1.0.0及更高版本不再支持舊方法(具有由Jade評論生成的IE條件評論,例如//if IE 8),並且不打算將其退回。

新方法是使用格式良好的IE條件註釋。因此,爲了產生上述IE條件註釋,玉模板將不得不如下:

<!--[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]--> 

注意,與玉版本1.0.0和在上面使用HTML註釋是安全的,因爲Jade將忽略以<字符開始的任何行。

您還可以訪問IE瀏覽器條件註釋中的this post,其中討論了Jade版本0.35.0和1.0.0之間的區別。它還顯示了使用Jade mixins機制進行條件格式化的另一種方法。

我希望這會有所幫助。

+0

感謝您的回答。爲什麼在第二個條件之後而不是第一個之後放置了「」? – NightOwl

+0

@NightOwl,我之所以這樣做是爲了匹配問題中提供的HTML代碼。顯然你可以修改你的Jade來給你任何你想要的輸出。 – Tom