IE6下div图片下边4px空隙bug的解决办法

IE6下图片下边有空隙的解决方法网上已经有很多种解决办法了,我今天同大家一起复习一下那些办法,并提供一些新的方法供大家参考。 

下面请先看一下出现问题的代码: 

<!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>IE注释bug</title> <meta name="keywords" content="" /> <meta name="description" content="" /> <style type="text/css"> #all { float:left; padding:10px 30px; font-size:12px; color:#FFF; background-color:#CCC; } #sub { float:left; background-color:#F90; } </style> </head> <body> <div id="all"> <div id="sub"> <img src="http://www.w3cui.org/images/linklogo.gif" alt="" /> </div> </div> </body> </html> 

很明显,在IE6下图片的下面出现了大约4px的空隙。具体是因为什么大概没人能说清楚,但万事总有解决的办法。我先说3种大家已经熟知的方法。 

一、将图片转换为块级对象 

即,设置img为“display:block;”。在本例中添加一组CSS代码:“#sub img {display:block;}”。 

二、设置图片的垂直对齐方式 

即设置图片的vertical-align属性为“top,text-top,bottom,text-bottom”也可以解决。如本例中增加一组CSS代码:“#sub img {vertical-align:top;}”。 

三、设置父对象的文字大小为0px 

即,在#sub中添加一行:“font-size:0;”可以解决问题。但这也引发了新的问题,在父对象中的文字都无法显示。就算文字部分被子对象括起来,设置子对象文字大小依然可以显示,但在CSS效验的时候会提示文字过小的错误。 

四、改变父对象的属性 

如果父对象的宽、高固定,图片大小随父对象而定,那么可以设置“overflow:hidden;”来解决。如本例中可以向#sub中添加以下代码:“width:88px;height:31px;overflow:hidden;”。 

五、设置图片的浮动属性 

即在本例中增加一行CSS代码:“#sub img {float:left;}”。如果要实现图文混排,这种方法是很好的选择。 

六、取消图片标签和其父对象的最后一个结束标签之间的空格 

这种方法适用范围比较窄,只限于父对象中只包含一个图片对象,而且和父对象的结束标签之间不能有任何空隙。如本例中的XHTML中“<div id="sub">...</div>”替换为“<div id="sub"><img src="http://www.w3cui.org/images/linklogo.gif" alt="" /></div>”也可以解决这一问题。如: 

怎么样,IE6下的问题还不少吧,这只是目前发现的一部分BUG。有问题不怕,怕的是解决不了问题。只要灵活运用各种CSS属性解决这种问题应该不成问题的。 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值