【IE6.0 Bug总结之五】文字溢出bug(注释bug)
【IE6.0 Bug总结之五】文字溢出bug(注释bug)
1、在以下情况下将会引起文字溢出bug
-
一个容器包含2两个具有“float”样式的子容器。
- 第二个容器的宽度大于父容器的宽度,或者父容器宽度减去第二个容器宽度的值小于3
- 在第二个容器前存在注释(这也是为什么此bug也叫做“IE6注释bug”的原因)。
2、引起bug时的效果图
这是正常效果
IE6下却多了一个“怪”字,真是怪
3、修复该bug的解决方案
- 改变结构,不出现【一个容器包含2两个具有“float”样式的子容器】的结构。——此解决方案的评论:疯了!因噎废食的做法。
- 减小第二个容器的宽度,使父容器宽度减去第二个容器宽度的值大于3,例如将本文示例中第二个子容器的宽度改为197px.——此解决方案的评论:在满足页面布局的前提下可以使用。但是当情况比较复杂的时候,可能实施起来比较困难。
- 去掉所有的注释。——此解决方案的评论:最直接的做法,但是“没有注释的代码”,的确不是一个好的代码写作习惯。
- 修正注释的写法。将 写成——此解决方案的评论:还不错的解决方案,但是并不是每个人都对这种注释写法很欣赏。
- 在第二个容器后面加一个或者多个
4、附上示例代码
1 <div style="width:200px;border:1px solid #0066cc;background-color:#cccccc;height:100px;padding:10px;"> 2 <div style="float:left;"></div> 3 <!-- 如果是IE6,你将多看到一个“怪”字 --><div style="float:left;width:200px;">这个文字溢出bug很奇怪</div> 4 </div>