首先给大家看看这个网站的首页 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;

总结出下表:

 IE6IE7/8FF
*×
!important×

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

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

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

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

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注