CSS hack

  CSS hack:区分IE6IE7firefox

  区别不同浏览器,CSS hack写法:

  区别IE6FF

  background:orange;*background:blue;

  区别IE6IE7

  background:green !important;background:blue;

  区别IE7FF

  background:orange; *background:green;

  区别FFIE7IE6

  background:orange;*background:green;_background:blue;

  background:orange;*background:green !important;*background:blue;

  注:IE都能识别*;标准浏览器(FF)不能识别*

  IE6能识别*,某些情况下不能识别 !important,

  -----------------------------------------------------------------------------------------------

IE6 hack

  _background-color:#CDCDCD; /* ie 6*/

IE7 hack

  *background-color:#dddd00; /* ie 7*/

IE8 hack

  background-color:red \0; /* ie 8/9*/

IE9 hack

  background-color:blue \9\0;

火狐,遨游,及其它高级浏览器通用

  background-color:red!important;

  注意写hack的顺序,其中:

  background-color:red\0;IE8IE9都支持;background-color:blue\9\0; IE9支持;

  另外,background-color:eeeeee\9;HACK支持IE6-IE8,但是IE8不能识别“*”和“_”的CSS HACK

  可综合上述规律灵活应用。

IE9 IE8 以及其他版本的区别说明

  background-color:blue; 各个浏览器都认识,这里给firefox用;

  background-color:red\9;\9所有的ie浏览器可识别;

  background-color:yellow\0; \0 是留给ie8的,最新版opera也认识,后面自有hack写了给opera认的,所以,\0我们就认为是给ie8留的;

  +background-color:pink; + ie7定了;

  _background-color:orange; _专门留给神奇的ie6

  :root #test { background-color:purple\9; } :root是给ie9的,网上流传了个版本是 :root #test { background- color:purple\0;},这个,新版opera也认识,所以经笔者反复验证最终ie9特有的为:root 选择符 {属性\9;}

  @media all and (min-width:0px){ #test {background-color:black\0;} } 这个是老是跟ie抢着认\0的神奇的opera,必须加个\0,不然firefoxchromesafari也都认识。。。

  @media screen and (-webkit-min-device-pixel-ratio:0){ #test {background-color:gray;} }最后这个是浏览器新贵chromesafari的。





posted @ 2013-09-04 23:25  secern  阅读(155)  评论(0)    收藏  举报