[CSS] IE 專用 (IE only) 條件式 HTML 註解的語法

[CSS] IE 專用 (IE only) 條件式 HTML 註解的語法

<!--[if IE]>內容<![endif]-->
內容只有 IE 會顯現。
<!--[if IE 6]>內容<![endif]-->
內容只有 IE6 會顯現。
<!--[if lt IE 7]>內容<![endif]-->
內容只在比 IE7 更舊的版本會顯現。
<!--[if gte IE 8]>內容<![endif]-->
內容只有 IE8 及其較新版本會顯現。
<!--[if !IE]>-->內容<!--<![endif]-->
內容除 IE 以外都會顯現。
<!--[if !(IE 6)]>內容<![endif]-->
內容除 IE6 以外的 IE 都會顯現。
<!--[if (gte IE 6)&(lt IE 8)]>內容<![endif]-->
內容只從 IE6 以後及 IE8 之前版本會顯現。
<!--[if (IE 7)|(IE 6)]>內容<![endif]-->
內容只有 IE7 及 IE6 會顯現。
<!--[if gte IE 7]><!-->內容<!--<![endif]-->
內容在 IE7 及其較新版本,以及 IE 以外都會顯現。

 

語法中空格不能任意省去,尤其注意 IE 之後,版本編號前的空格。

IE 必須大寫,其餘英文字母都是小寫。

註解的結尾語法都是 <![endif]—>

 

註解裡的運算子 (operators) : lt, lte, gt, gte
  • lt : lower than ,比某一版本更舊的版本,如 [if lt IE 7]
  • lte : lower than or equal to ,某一版本及其更舊的版本,如 [if lte IE 6]
  • gt : greater than ,比某一版本更新的版本,如 [if gt IE 6]
  • gte : greater than or equal to ,某一版本及其更新的版本,如 [if gte IE 8]
  • ! : 「非」、「排除」、「反向」的意思,可加在版本、運算子、或子運算式 ( ) 前,如 [if !IE] ,指定 IE 以外有效。
  • ( ) : 可將基本的條件加入子運算式 (subexpression) 處理更複雜的條件,如 [if !(IE 6)] ,指定除 IE6 以外的 IE 有效。。
  • & : 符合由 & 連接的全部子運算式的條件,如 [if (gt IE 5.0)&(lt IE 7)] ,指定 IE5 之後, IE7 之前有效。
  • | : 符合由 | 連接的任一個子運算式的條件,如 [if (IE 5.5)|(IE 6)] ,指定 IE5.5 或是 IE6 有效。

所以, [if lte IE 6][if lt IE 7] 同樣指的都是 IE6 及其更舊版本,而 [if gt IE 6][if gte IE 7] 同指 IE7 及其較新版本。