IE6备忘录——IE6下的BUG们
序言
几乎每次面试,面试官都会问到,你在IE6下碰到过什么BUG,你是如何解决的?IE6实在是太特殊了,下面就记录一些IE6下的琐事吧。
IE6小传
IE6于2001年3月发布beta版本,2001年8月27日发布最终版本,并被捆绑在Windows XP系统上。由于XP的巨大成功,伴随着竞争对手Netscape的衰落,IE6很快占领了九成以上的浏览器市场。由于IE6已经处于绝对的统治地位,微软放缓了IE的开发进度,2006年10月18日IE7才正式发布。
IE7的诞生标志了又一次浏览器的竞争高潮的到来,Netscape的私生子Firefox、Mac下的Safari都有一定的市场规模,随后Google牵头促成浏览器开源项目Chromium,随后发布了Chrome浏览器。微软也加快了IE的步伐,2009年3月19日发布IE8最终版本,随后又马不停蹄的投入到IE9的开发中。
IE6作为上一代浏览器的最后遗老,生命力异常顽强。无论浏览器市场如何变化,IE6的统治地位自发布以来就从来没有被撼动过,在国外一直保持六成左右的装机率,国内市场至少八成以上,IE6无疑会在浏览器历史上留下厚重的一笔。
IE6的BUG们
这篇文章主要是记录一些IE6下出现的问题,有可能是不兼容web标准问题,有可能是IE6本身的bug。
3px问题
基本例子
查看例1,
图1 正常浏览效果
图2 IE6下浏览效果
IE6下div#two有“two”字符左侧有3px的空隙。
触发条件
一个浮动的列后有一个非浮动的列,在IE6下他们之间会有3px的间隙。比如例子中的#one是个浮动的列,#two是个非浮动的列,#one和#two之间有个3px的间隙。
解决办法
给左列加上_margin-right:-3px,该属性只有IE6能够识别。
变化
当非浮动的列(例子中的#two)具有width属性的时候,间隙表现为div间有空隙。在例1中加入代码
#two{
width:200px;
}
下面是IE6下截图:
