ie6字体重影

ie6由注释引起的文字重影的bug

HTML代码
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" " http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns=" http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>多了一只猪</title>
</head>
<body>
<div style="width:400px">
<div style="float:left"></div>
<!-- -->
<div style="float:right;width:400px">↓这就是多出来的那只猪</div>
</div>
</body>
</html>
运行上述代码看到什么了?会发现折行多了一个“猪”字,造成这个问题的原因就是上面那有一段<!-- -->注释代码,确实是因为注释的原因,但为什么这样,也没什么道理,只能说是IE6的bug了。在ie7,ie5.5和firefox中都是好的,就是ie6如此。
1.去掉那行注释,或者去掉下面的float中的一个就正常了,这说明: 注释造成文字溢出与区块的浮动有关
2.或者将注释放到前面那应用float属性的标签前或后面那个应用float属性的标签后。发现显示也正常了。这说明: 注释造成文字溢出与其位置有关。
3.去除<div style="float:right;width:400px">中的“width:400px”,多余的“猪”字消失,页面正常显示。这说明: 注释造成文字溢出与文字区块的固定宽度有关(无论是绝对值还是相对值)。
bug升级版:
HTML代码
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" " http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns=" http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>多了一只猪</title>
</head>
<body>
<div style="width:400px">
<div style="float:left"></div>
<!-- -->
<!-- -->
<!-- -->
<div style="float:right;width:400px">↓这就是多出来的那只猪</div>
</div>
</body>
</html>
我们会从上面的规律中得到这样一个公式: 溢出文字的字数=注释的条数*2-1,这里的字数在中文或英文数字时都成立。当溢出的文字字数大于文本的字数时,文字区块将会消失。最终解决方法如下:
1、不放置注释。最简单、最快捷的解决方法,嘿嘿……。其实为了符合标准,加注释最好采用这种格式如果是这样就没有问题了
<!-->Put your commentary in here...<!-->
2、注释不要放置于2个浮动的区块之间。
3、将文字区块包含在新的<div></div>之间,如:<div style="float:right;width:400px"><div>↓这就是多出来的那只猪</div>& lt;/div>。
4、去除文字区块的固定宽度,与3有相似之处。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值