解决一个网页浏览器不兼容的问题(firefox,IE6,IE8)

     首先给大家看看这个网站的首页http://www.aiyawe.com/,中间那个flash轮播器,开始在IE8和firefox中间测试的一直很正常的,可是昨天我发现在IE6下测试,竟然给飘逸了,我很郁闷这个问题,熬夜,到昨天晚上的1:30,为伊消得人憔悴啊,最后终于解决之,下面公布下解决的办法。

  

大家看看样式表吧,我做个简单的说明

    .body-left-flash {
    FLOAT: left; MARGIN-LEFT: 6px; WIDTH: 478px; HEIGHT: 250px;


    position: absolute;//给firefox看的
    *position: absolute !importan;//给IE7,IE8看的
    *position: absolute;//给IE6看的


    left:0px;
    *left: 0px !importan;
    *left:-245px;
   

       通过在一个样式表中调用不同的参数就对了。解决的办法就这么简单,我开始可是没有想到这样来解决问题,这里要鄙视下微软,搞自己的标准,弄得大家都很麻烦,还有大家的浏览器快升级吧,用 IE或者IE核心的朋友,升级到7和8吧,兼容的网站多一些。

 

    

   下面开始理论说明:

     IE都能识别*;标准浏览器(如FF)不能识别*;
     IE6能识别*,但不能识别 !important,
     IE7能识别*,也能识别!important;
     FF不能识别*,但能识别!important;

总结出下表:

  IE6 IE7/8 FF
* ×
!important ×

 

 

因此,要在某一个css属性上区分IE和Firefox,可以利用“*”符号,使用如下设置:

    left:0px;
    *left: 0px !importan;
    *left:-245px;

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

但是需要注意到一点是:不管是什么方法,书写的顺序都是firefox,IE7,8,IE6。