条件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及以上,推荐酌情忽略低版本,把精力花在为使用高级浏览器的用户提供更好的体验上
说明:
用于选择IE浏览器及IE的不同版本
如不想在非IE中看到某区域,可这样写:
<!--[if IE]>
<p>你在非IE中将看不到我的身影</p>
<![endif]-->
上述p代码块,将只在IE中可见。
- if条件Hack是HTML级别的(包含但不仅是CSS的Hack,可以选择任何HTML代码块)
- if条件6种选择方式的使用示例(下述代码中被条件注释包含的HTML代码块也可以是link标记):
属性级Hack
语法:
selector{<hack>?property:value<hack>?;}
取值:
_:
-
选择IE6及以下。
连接线(中划线)(-)亦可使用,为了避免与某些带中划线的属性混淆,所以使用下划线(_)更为合适。
*:
-
选择IE7及以下。
诸如:(+)与(#)之类的均可使用,不过业界对(*)的认知度更高
\9:
-
选择IE6+
\0:
-
选择IE8+和Opera
[;property:value;];:
-
选择webkit核心浏览器(Chrome,Safari)。IE7及以下也能识别。
中括号内外的3个分号必须保留,第一个分号前可以是任意规则或任意多个规则
-
[;color:#f00;]; 与
[color:#f00;color:#f00;]; 与
[margin:0;padding:0;color:#f00;]; 是等价的。生效的始终是中括号内的最后一条规则,所以通常选用第一种写法最为简洁。
-
-
说明:
选择符级Hack
语法:
<hack> selector{ sRules }