CSS hack

CSS hack:为解决浏览器兼容性问题,针对不同的浏览器写不同的CSS 代码的过程,就叫CSS Hack,hack主要针对IE浏览器

三种形式:

  属性级hack:IE6识别_*  ,IE7识别* ,FF两个都不识别

  选择符级Hack:IE6识别*html ,IE7识别*+html或*:first-child+html 

  IE条件注释Hack(百度上可直接查到):

    针对所有IE:<!–[if IE]><!–您的代码–><![endif]–>

    针对IE6及以下版本:<!–[if lt IE 7]><!–您的代码–><![endif]–> 

书写顺序:FF——IE7——IE6

常用的CSS hack

/*属性级hack*/

  color:red;           /* 所有浏览器可识别*/

  _color:red;         /* 仅IE6 识别 */

  *color:red;         /* IE6、IE7 识别 */        同理: +color   *+color   [color 

  color:red9;         /* IE6、IE7、IE8、IE9 识别 */

/* 选择符级Hack */

  *html #demo { color:red;}       /* 仅IE6 识别 */

  *+html #demo { color:red;}     /* 仅IE7 识别 */

  body:nth-of-type(1) #demo { color:red;}     /* IE9+、FF3.5+、Chrome、Safari、Opera 可以识别 */

  head:first-child+body #demo { color:red; }     /* IE7+、FF、Chrome、Safari、Opera 可以识别 */

  :root #demo { color:red9; }            /* 仅IE9识别 */

 

 

 

只对 IE6:*html    识别 _ * ,在同一选择器中不识别!important    

只对 IE7:*+html    识别 * !important,不识别 _

只对 IE67:@media screen\9{...}

只对 IE8:@media \0screen {...}

只对 IE678:@media \0screen\,screen\9{body {...}

只对 IE8910:@media screen\0 {...}

只对 IE910:@media screen and (min-width:0\0) {...}

只对 IE10:@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {...}

FF:识别!important,不识别 * _

_         IE6专有hack

\9        IE678910的hack

\0        IE8910的hack

\9\0     IE910的hack



 

posted @ 2015-11-15 15:21  Y_Y1208  阅读(218)  评论(0编辑  收藏  举报