日期:2014-05-17  浏览次数:20526 次

IE6、7、8 CSS


浏览器市场的混乱,给设计师造成很大的麻烦,设计的页面兼容完这个浏览器还得兼容那个浏览器,本来ie6跟ff之间的兼容是很容易解决的。加上个ie7会麻烦点,ie8的出现就更头疼了,原来hack ie7的方法又不能用了,怎么办呢?

  第一种方法:

  还好,微软提供了这样一个代码:

  <meta http-equiv="x-ua-compatible" content="ie=7" />

  把这段代码放到里面,在ie8里面的页面解析起来就跟ie7一模一样的了,所以,基本上可以无视ie8,剩下的代码只需要这样写就可以了

          background:#ffc;
          *background:#ccc;
         _background:#000;

  解释一下吧:

  firefox能解析第一段,后面的两个因为前面加了特殊符号“*”和“_”,firefox认不了,所以只认background:#ffc,看到的是黄色;

  ie7前两短都能认,以最后的为准,所以最后解析是background:#ccc,看到的是灰色;

  ie6三段都能认,而且“_”这个只有ie6能认,所以最后解析是_background:#000,看到的是黑色

  阿门!已经是最简单和最好理解的写法了,如果你是google进来的,我可以很负责任的告诉你,这种方法是ok的,我测试过。

  ie8的那段兼容7的代码我也测试过了,在我现在的windos 7 测试版所带的ie8是没问题的,以后ie8正式版出来还管不管用就不知道了。

  ps:如果你发现按我这样写还是有问题的话,请查看一下你的html头,看看之前的内容是不是这样的标准写法

  



<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">


  

  这个是现在比较规范的写法,如果你是用dreamweaver做页面的话,默认也是这种规范的,切记,非这种规范写法的,兼容性不能保证




<style>
     .aaaa{
          background-color:red;
         *background-color:black;
         _background-color:green;
}
</style>




LoVe/HAte  爱/恨

<style>
a:link {
    color: #0000FF;
    text-decoration: none;
}
a:visited{
color: #00ffff;
text-decoration: none;
}
a:hover {
    color: #FF0000;
    text-decoration: none;
}
a:active {
    color: #00FF00;
    text-decoration: underline;
}
</style>
<a href="#">先要把A伪类的顺序搞对了</a>

IE测试工具:
1、IE tester
2、Utilu IE Collection



<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE8" />

<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" />