條件Hack

語法:

<!--[if <keywords>? IE <version>?]> HTML程式碼塊 <![endif]-->

取值:

<keywords>

if條件共包含6種選擇方式:是否、大於、大於或等於、小於、小於或等於、非指定版本

是否:
指定是否IE或IE某個版本。關鍵字:
大於:
選擇大於指定版本的IE版本。關鍵字:gt(greater than)
大於或等於:
選擇大於或等於指定版本的IE版本。關鍵字:gte(greater than or equal)
小於:
選擇小於指定版本的IE版本。關鍵字:lt(less than)
小於或等於:
選擇小於或等於指定版本的IE版本。關鍵字:lte(less than or equal)
非指定版本:
選擇除指定版本外的所有IE版本。關鍵字:!
<version>

目前的常用IE版本為6.0及以上,推薦酌情忽略低版本,把精力花在為使用高級瀏覽器的使用者提供更好的體驗上

IE10及以上版本已將條件注釋特性移除,使用時需注意。

說明:

用於選擇IE瀏覽器及IE的不同版本
  • if條件Hack是HTML級別的(包含但不僅是CSS的Hack,可以選擇任何HTML程式碼塊)
  • 如不想在非IE中看到某區域,可這樣寫:

    <!--[if IE]>
    <p>你在非IE中將看不到我的身影</p>
    <![endif]-->

    上述p程式碼塊,將只在IE中可見。

  • if條件6種選擇方式的使用示例(下述程式碼中被條件注釋包含的HTML程式碼塊也可以是link標記):
  • 是否,示例程式碼:

    <!--[if IE]>
    <style>
    .test{color:red;}
    </style>
    <![endif]-->

    在上述程式碼中,只有IE瀏覽,才能看到應用了test類的元素是紅色文字。

  • 大於,示例程式碼:

    <!--[if gt IE 6]>
    <style>
    .test{color:red;}
    </style>
    <![endif]-->

    在上述程式碼中,只有IE6以上,才能看到應用了test類的元素是紅色文字。

  • 大於或等於,示例程式碼:

    <!--[if gte IE 6]>
    <style>
    .test{color:red;}
    </style>
    <![endif]-->

    在上述程式碼中,只有IE6以上(含IE6),才能看到應用了test類的元素是紅色文字。

  • 小於,示例程式碼:

    <!--[if lt IE 7]>
    <style>
    .test{color:red;}
    </style>
    <![endif]-->

    在上述程式碼中,只有IE7以下,才能看到應用了test類的元素是紅色文字。

  • 小於或等於,示例程式碼:

    <!--[if lte IE 7]>
    <style>
    .test{color:red;}
    </style>
    <![endif]-->

    在上述程式碼中,只有IE7以下(含IE7),才能看到應用了test類的元素是紅色文字。

  • 非指定版本,示例程式碼:

    <!--[if ! IE 7]>
    <style>
    .test{color:red;}
    </style>
    <![endif]-->

    在上述程式碼中,除IE7以外的IE版本,都能看到應用了test類的元素是紅色文字。

示例: