条件Hack

  • (CSS外部)HTML级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类的元素是红色文本。

示例:

关注编程学问公众号