针对IE8或IE9以下版本如何写hack

Selector {property: value\9;}

在IE9及可解析;


Selector {*property: value;}

依旧能正确解析IE7及以下的版本;

Selector {property: value/;}

无法在IE8解析;

那么问题来了:针对IE8或IE9以下版本如何写hack?

阅读 6.1k
4 个回答
<!--[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及以上,推荐酌情忽略低版本,把精力花在为使用高级浏览器的用户提供更好的体验上

尽可能减少对 CSS Hack 的使用和依赖,可以使用其他的解决方案代替 Hack 的思路。

p{ 
    color:#000; /* For all */ 
    color:#111\9; /* For all IE */ 
    color:#222\0; /* For IE8 and later, Opera without Webkit */ 
    color:#333\9\0; /* For IE9 and later */ 
    }

针对 Internet Explorer,可以使用条件注释作为预留 Hack 来使用, Internet Explorer 条件注释语法可以如下书写。

<!--[if < keywords>? IE < version>?]> 
< link rel="stylesheet" href="./hack.css" /> 
<![endif]-->

不要用条件语句实现;

@media \0screen {
    Selector {property: value;} }
    

方式除外

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题