标签归档:ie6

IE6下非注释引起的内容复制溢出-很奇怪

IE6下有个bug,一些文字内容等会被复制并出现在其他空白的地方,我管它叫 内容复制溢出。

以前调查搜索过解决方法,原来是HTML注释引起的,所以去掉某些html注释(一个个试验,直到找到目标注释),即可解决问题。

这是以前我处理的方法,的确管用。但是今天碰到的同样类似bug,却不能通过去注释来解决了,因为我已经去掉了文档中所有的html注释,问题依旧存在。

IE6本来就是个很奇怪的东西,因此我开始怀疑此bug的真正原因会是什么呢。很遗憾,到目前为止,这篇文章说的并不是解决方法。而是分析原因,而且是不确定的原因。

回想此bug诞生的环境及条件: 1、有浮动;2、清除浮动,zoom:1;3、HTML注释。

以上就是我猜测的可能性。条件3针对本文来说可以排除了,继续寻找原因中。

环境2,目前也可以排除了,即使去掉清除浮动的css,bug还是存在。

2010年10月11日14:39:51,好吧,偶错了。原因是宽度计算错误,左右两列各自左右浮动,总宽度960,左160+右800,但是右侧内部继续分两列,由于padding,margin等,虽然偶确实保证所有宽度和是没有问题的,但是。。。有空时候,希望偶可以把bug简单还原出来。暂时结束。

2010年10月11日15:35:18,最终原因是一个隐藏的弹出层代码导致的。。。杯具,到底是个虾米机制,IE6会有这么个bug…

2010年10月14日15:23:41,弹出层里面是个老外写的文件上传组件,官方:http://github.com/valums/file-uploader,其中用到拖拽文件到上传区域自动上传的功能。。。复杂的东东,他隐含的意思难道就是:埋葬IE6?

2011年11月30日13:19:32,又一个同事碰见了这个问题,不是注释引起,不是以上所述原因,最后解决是把代码格式化了一次,bug消失。由此似乎可以推断,IE6下会发生内容克隆(复制) 溢出的根本原因在于一些特殊字符,只要能清除掉这些不可见的特殊字符,就可以解决问题。

好久没碰到过的IE6注释bug

IE6为众前端所不喜,不仅仅是功能支持很落后,还有一大堆的bug。而且,就连写个注释都能引起莫名奇妙的bug。

好久没碰到了,但是今天写了一个简单的页面,随手添了一个空的注释<!– –>,随后被复制了好几处,于是有了好几个空的注释。结果发现问题了。

1、好大一个空白间距。如同插入了一个水平的空白行,30px那么高。

2、文字被复制溢出(呃。。。想不起叫什么名字了),就是在容器之外,明明没有边框,没有文字的地方,出现了容器内容里的文字。

往往这些问题发生在有浮动的元素情况下。而注释为空或不为空都会偶尔发生这些bug。貌似空的注释更容易出现。

另记一个注释引起的问题。IE6要使用png24透明图片,借助一个js:DD_belatedPNG_0.0.8a-min.js,那么有时在应用了透明的元素旁边写了一些注释,会出现意料外的情况,貌似那次是元素位置歪了吧,去掉注释就ok了。

总结:ie6很多问题,字体大小,行高,高度,浮动,注释。。。这些皆可以成为原因,也可以成为解决的方法。