<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>多了一只猪</title>
</head>
<body>
<div style="width:400px">
<div style="float:left">由于注释原因多出了一部分东西</div>
<!– –>
<div style="float:right;width:400px">↓这就是多出来的那只猪</div>
</div>
</body>
</html>1、在IE、FF中测试,只在IE出现文字溢出现象。
说明:注释造成文字溢出是IE的BUG。
2、去除<div style="float:left"></div> 中的“float:left;”,你会发现多出来的“猪”字不见了,页面正常显示
同样去除 <div style="float:right;width:400px">中的“float:right;”,多余的“猪”字也同样消失,页面正常显示
说明:注释造成文字溢出与区块的浮动有关。
3、将注释转移到<div style="float:left"></div>前面,多余的“猪”字消失,页面正常显示
将注释转移到<div style="float:right;width:400px">↓这就是多出来的那只猪</div>下面,多余的“猪”字也同样消失,页面正常显示。
说明:注释造成文字溢出与其位置有关。(可与第2点结合理解)
4、去除<div style="float:right;width:400px">中的“width:400px”,多余的“猪”字消失,页面正常显示
说明:注释造成文字溢出与文字区块的固定宽度有关(无论是绝对值还是相对值)。
5、增加注释的条数:当1条注释时,则多出来1个字;2条注释时,则多出来3个字;3条注释时,则多出来5个字……
我们会从上面的规律中得到这样一个公式:溢出文字的字数=注释的条数*2-1,这里的字数在中文或英文数字时都成立。
当溢出的文字字数大于文本的字数时,文字区块将会消失。
说明:溢出的字数与注释的条数有关。
由1和2的测试得知:注释不要放置于2个浮动的区块之间。
解决方法:
1、不放置注释。最简单、最快捷的解决方法,嘿嘿……
2、注释不要放置于2个浮动的区块之间。
3、将文字区块包含在新的<div></div>之间,如:<div style="float:right;width:400px"><div>↓这就是多出来的那只猪</div></div>。
4、去除文字区块的固定宽度,与3有相似之处。
转载地址:http://bbs.blueidea.com/thread-2692486-1-1.html
本文通过实例详细解析了IE浏览器中一个特殊的BUG——注释导致的文字溢出问题,并提供了多种有效的解决方案。
的问题方案&spm=1001.2101.3001.5002&articleId=38540513&d=1&t=3&u=e35a1fd88b8243c186f33c44c7d3a2e0)
2616

被折叠的 条评论
为什么被折叠?



