IE6文字溢出

IE6文字溢出的BUG不仅仅是注释造成的以及解决办法插入代码:

<div style="width:400px">
  <div style="float:left"></div>
  <input type="hidden" value="hidden" />
  <div style="display:none;">hidden</div>
  <div style="float:left;width:400px">IE6文字溢出的BUG</div>
</div>

今天在看一个项目的测试版的时候,发现了IE6文字溢出的BUG,文字出现了“重影”。

开始很快想到的是注释,看了源代码,发现页面里根本没有注释。实在摸不着头脑,祭出了Google,注意到了当初没有注意到的一句话“但IE6的这个重复 BUG也有些不是注释造成的,但基本上都和浮动有关系”。后来有查阅到其他文章提到type=hidden的input以及display:none的 div也会导致文字溢出的BUG,正好代码有type=hidden的input。

在同事的帮助下(偶E问很烂)查阅了国外的资料,解决了type=hidden的input造成文字溢出的问题。不要把这个input直接放在form下面,可以用div或者fieldset把这个input包起来。插入代码:

<div style="width:400px">
  <div style="float:left"></div>
  <div><input type="hidden" value="hidden" /></div>
  <div style="float:left;width:400px">IE6文字溢出的BUG</div>
</div>

对于条件注释可以参照http://bbs.blueidea.com/thread-2692486-1-1.html ,将文字区块包含在新的div之间,但这个方法对type=hidden的input以及display:none的div不奏效。插入代码:

<div style="width:400px">
  <div style="float:left"></div>
  <!-- -->
  <div style="float:left;width:400px"><div>IE6文字溢出的BUG</div></div>
</div>

而display:none的div造成的文字溢出同理可以用div将这个隐藏的div包起来。插入代码:

<div style="width:400px">
  <div style="float:left"></div>
  <div><div style="display:none;">hidden</div></div>
  <div style="float:left;width:400px">IE6文字溢出的BUG</div>
</div>

打完收工。 

posted @ 2011-04-03 02:38  Fakis  阅读(1931)  评论(1编辑  收藏  举报