若水
智者乐水

          平常做浏览器兼容一般都做ie6,ie7,和火孤,ie8的兼容倒还是没怎么用过,下面是我找的一个兼容ie8的hack

         #test{
color:red; /* 所有浏览器都支持 */
color:red !important;/* Firefox、IE7支持 */
_color:red; /* IE6支持 */
*color:red; /* IE6、IE7支持 */
*+color:red; /* IE7支持 */
color:red\9; /* IE6、IE7、IE8支持 */
color:red\0; /* IE8支持 */
}

body:nth-of-type(1) p{color:red;} /* Chrome、Safari支持 */

 但经常有宽度px的设置,这种情况可以这样写  

select{ left:-57px; left:4px\9; #left:-57px; _left:-57px;}  

  1. left:-57px;  全局定义,所有浏览器都识别 [FF,chrome]
  2. left:4px\9;  IE hack,非IE浏览器无法识别 [IE8]
  3. *left:-57px;  IE7,6 识别  [IE7]
  4. _left:-57px;  IE6 识别  [IE6]从例子可以看出,先是通过②定义全部IE的样式,再通过③④覆盖定义IE7,6的样式,这样使得IE8的最终解析为 left:4px\9;
  5. 其实这比较麻烦,ie8有其独有的hack,这一句也可以写成left:4px\0;
 

 

posted on 2010-10-26 14:08  狂奔的蜗牛  阅读(727)  评论(0编辑  收藏  举报