今天在看一个项目的测试版的时候,发现了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>

开始很快想到的是注释,看了源代码,发现页面里根本没有注释。实在摸不着头脑,祭出了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>

将文字区块包含在新的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 on 2010-10-23 11:23  小炒花生米  阅读(1198)  评论(0编辑  收藏  举报