解决一个网页浏览器不兼容的问题(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。
共有 0 条评论