IE6下DIV高度显示的Bug

IE对于DIV+CSS的解释,很多自作聪明的做法,让我们在各个浏览器之间的兼容上,吃尽了苦头。上次为了一个在IE6中,上下两个DIV之间一个莫名其妙多出的间隔,折腾了半天。

IE6下默认的字体尺寸大致在 12 - 14px 之间,当你试图定义一个高度小于这个默认值的 div 的时候, IE 会固执的认为这个层的高度不应该小于字体的行高。所以即使你用 height: 6px; 来定义了一个 div 的高度,实际在 IE 下显示的仍然是一个 12 px 左右高度的层。

要解决这个问题,可以强制定义该 div 的字体尺寸,或者定义 overflow 属性来限制 div 高度的自动调整。比如

<div style="height: 6px; font: 0px Arial;"></div>

或者
<div style="height: 6px; overflow: hidden;"></div>

都可以阻止 IE 的自作聪明。

该问题在 IE7 / Firefox /Opera 下均不存在。

没有评论:

发表评论