hack速查表

建议:以标准浏览器为准书写代码,如遇到兼容问题,尝试其他方法解决问题,在万不得已怕情况下,采用HACK解决。

以下是我总结的HACK书写方法:

浏览器:仅限IE6+,FF,safari,chrome,opera;(截止到2011.10.12非IE均为最新版本)。

测试环境:windows系统;

DOCTYPE:.

标志符示例IE6IE7IE8IE9FFOPSACH
*.eq {*color:#000;}YYNNNNNN
_.eq {_color:#000;}YNNNNNNN
+.eq {+color:#000;}YYNNNNNN
-.eq {-color:#000;}YNNNNNNN
>.eq {>color:#000;}YYNNNNNN
\0.eq {color:#000\0;}NNYYNYNN
\9.eq {color:#000\9;}YYYYNNNN
\9\0.eq {color:#000\0;}NNN\YYNNNN
:root .xx{xxx:xxx\9;}:root .eq {color:#a00\9;}NNNYNNNN
*+.eq {*+color:#000;}YYNNNNNN
*-.eq {*-color:#000;}YNNNNNNN
*html*html .eq {color:#000;}YNNNNNNN
*+html*+html .eq {color:#000;}NYNNNNNN
html*html* .eq {color:#000;}YYNNNNNN
[;.eq {color:red;[;color:blue;}YYNNNNYY
html>bodyhtml>body .eq {color:blue;}NYYYYYYY
html>/**/bodyhtml>/**/body .eq {color:blue;}NNYYYYYY
html/**/>bodyhtml/**/>body .eq {color:blue;}NYYYYYYY
@media all and (min-width:0px){}@media all and (min-width:0px){.eq {color:#000;}}NNNYYYYY
*:first-child+html*:first-child+html .eq {color:blue;}NYNNNNNN
*:first-child+html{} *html*:first-child+html{} *html .eq {color:blue;}YNNNNNNN
@-moz-document url-prefix(){}@-moz-document url-prefix(){ .eq {color:blue;}}NNNNYNNN
@media screen and (-webkit-min-device-pixel-ratio:0){}@media screen and (-webkit-min-device-pixel-ratio:0){.eq {color:blue;}}NNNNNNYY
@media all and (-webkit-min-device-pixel-ratio:10000), not all and (-webkit-min-device-pixel-ratio:0){}@media all and (-webkit-min-device-pixel-ratio:10000), not all and (-webkit-min-device-pixel-ratio:0){.eq {color:blue;}}NNNNNYNN
body:nth-of-type(1)body:nth-of-type(1) .eq {color:blue;}NNNYYYYY

FF:firefox; OP:opera; SA:safari; CH:chrome; Y代表支持,N代表不支持。

注意事项:

  • ·
    由于各浏览器更新神速,所以有些HACK可能会有变化,所以请大家注意。
  • ·
    [;此种方式会影响后续样式,不可取。
  • ·
    \9\0并非对所有属性都能区分IE8和IE9.比如:background-color可以,但background不可以,还有border也不可以。所以在实际用时要测试下。
  • ·
    当同时出现 \0; *; _;时,推荐将\0写在*和_前面。例如:color:red\0;*color:blue;_color:green;可行,否则IE7和IE6里的效果会失效。但border例外,放在前后都可以。保险起见,还是放在前面。

推荐写法:

demo:

        .eq {
             color:#f00;/*标准浏览器*/
             color:#f30\0;/*IE8,IE9,opera*/
             *color:#c00;/*IE7及IE6*/
             _color:#600;/*IE6专属*/
            }
        :root .eq {color:#a00\9;}/*IE9专属*/
        @media all and (-webkit-min-device-pixel-ratio:10000), not all and (-webkit-min-device-pixel-ratio:0){.eq {color:#450;}}/*opera专属*/
        @media screen and (-webkit-min-device-pixel-ratio:0){.eq {color:#879;}}/*webkit专属*/
        @-moz-document url-prefix(){ .eq {color:#4dd;}}/*firefox专属*/
  
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值