GitHub 博客园 Nanakon

-_-#【兼容】如何在ie6里定义高度小于18px的盒子

我们并没有给盒子定义高度,但IE6和IE7里却出现了高度,FF和opera正常。
给#left盒子加上height:5px后,IE6没有变化,IE7#left盒子有了指定的高度,但#right还是有一个高度,FF和opera仍然正常。
再给#right盒子加上height:10px,IE6依据没有变化。IE7正常了,FF和opera仍然正常。
IE7、 FF和opera正常了,先把他们抛开,不理他们了,现在只看IE6,为什么IE6里的盒子明确定义了高度,它却不按指定的高度显示呢?它为什么始终显示 那个高度?那个高度是多少呢?我们增加#right盒子的高度,增加1px,也就是增加到11px,仍然没有变化,增加到12px、13px……直到增加 到19px,终于有变化了。由此可以断定那个高度是18px,也就是说在IE6里无法定义小于18px的高度(即使是0),而IE7没有给盒子定义高度的 话,也会有18px的高度。

什么原因呢?这是由于IE默认字体大小造成的。
解决的方法:
font-size:0;
overflow:hidden;
height:0;
这样,在IE6、IE7、FF和opera里的效果就一样了。

还可以:

posted on 2012-05-29 10:24  jzm17173  阅读(168)  评论(0编辑  收藏  举报

导航

轻音