IE6显示1px高度的bug

在IE6下运行以下代码测试:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<!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>
<TITLE> New Document </TITLE>
</HEAD>
<body>
<div id="test" style="font-size: 1px; height: 1px; line-height: 1px; margin: 0 1px;background: #333">
</div>
</body>
</HTML>
<script type="text/javascript">
<!--
alert(document.getElementById('test').offsetHeight);
//-->
</script>

得到结果是2,在其他浏览器下得到的都是预期的1,经过测试发现只要删除背景色属性就正常
这实在是个匪夷所思的问题

最后经新软群中hyne大大提醒,在div中加入一个&nbsp;就能解决(注:直接空格不行),即:

1
2
3
<div id="test" style="font-size: 1px; height: 1px; line-height: 1px; margin: 0 1px;background: #333">
&nbsp;
</div>

本来以为自己已经把IE6的各种问题触碰的差不多了,竟然还有新的……

显示 Gitment 评论