私下以为,最初微软大概根本没把什么web标准放在眼里,Windows独霸天下,IExplorer 就是老大,标准应该向它看齐才对。其实那段时间也不算太坏,虽然国外各种浏览器群雄逐鹿,但中国的网页设计师们只用考虑ie 6,完全不必管什么firefox、opera、safari、chrome等等等等,日子过的还算省心。

然而好日子注定不能长久,M$居然良心发现,推出了一个更加符合“标准”的浏览器 ie 7。我们都知道电影里如果坏人突然洗心革面要做好人,多半不会有什么好事发生,这次也是这样—— ie 6 和 ie 7 对页面的解释完全不一样。在ie6下调的好好的页面,在ie7下看就乱作一团,反之亦然。站长们就算可以不管是否兼容火狐,但不能连ie都不管啊——其实也可以,比如ie 8就没人管,反正用的人少。btw:ie 8 的表现当然和ie6、ie7又是完全不同,微软怎么能总弄得自己和自己都不兼容呢?可是ie7用的人相当多,实际上,ie7和ie6基本上平分秋色,各占市场份额的一半——这是最恶心的情况,不管任何一方占优势,我们做网页时都可以说只支持“最主流”的那个浏览器,但是双方旗鼓相当,我们就任何一方都不能忽略,而它们两个又是那样的不同,并且还都和标准不同——简直令人惊奇微软是怎么做到这一点的。

如果M$能拿出推盗版xp黑屏的劲头来推ie7,把所有windows用户都强制升级到ie7,那么网页设计师的日子会好过很多。但在微软大发善心之前,我们也不是完全没有办法。感谢dean edwards和他的开源项目ie7-js,现在我们只要使用一段javascript,就能让ie6表现得像个正常的、兼容web标准的浏览器。

虽然我上面啰嗦了那么多,其实使用办法非常简单,只需要做一件事,即在页面文件的<head></head>之间加入如下代码:

<!--[if lt IE 7]>
<script src="http://ie7-js.googlecode.com/svn/version/2.0(beta3)/IE7.js" type="text/javascript"></script>
<![endif]-->

这段话的意思是如果是ie7以下的浏览器,即ie6、ie5的话(不会有人还在用ie4吧?),就加载这段js。这个文件是存在Google的服务器上的,所以你无需在自己的服务器上做任何事,当然如果你愿意,你也可以下载下来放到自己服务器上,再从自己的服务器上引用。

这个文件非常小,压缩之后只有十几k,所以对速度不会有多大影响。有了它之后,我们就可以正常的写css,基本不用单独考虑ie6的兼容问题了。其主要功能有:

1、加进了对许多css selector的支持,如父元素>子元素、:hover 伪类等等等等;

2、修正了ie6的许多bug,如有多个class的元素在ie 5 和ie 6 中不能正常表现、双倍边距、内容离奇消失、滚动条离奇消失等等等等;

3、加进了许多css属性的支持,如position:fixedpng图片透明等等等等。

点击这里查看完整的改进清单和例子

亲身事例:当我写这个主题时,在其他浏览器里测试都ok,打开ie6一看,右边栏跑到了最下面,左边栏则是这样:

当然还有其他许多奇奇怪怪的问题。当时我的感觉就是“绝望”。然后放狗开搜,居然找到了这段神奇的js,赶紧试用,居然就一切正常了!(诚实的说,其实还是有一点点小问题的,希望没人能发现 ;p )

有了这段js,再也不用管ie6的死活了,感觉真爽 ^_^