图片排列间隙问题

 1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 2 <html xmlns="http://www.w3.org/1999/xhtml">
 3 <head>
 4 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
 5 <title>无标题文档</title>
 6 <style type="text/css">
 7 .con{width:464px; border:1px solid #00F;}
 8 .con img{width:230px; height:70px; border:1px solid #F00;}
 9 </style>
10 </head>
11 
12 <body>
13 <div class="con">
14 <img src="http://www.baidu.com/img/logo.gif" /><img src="http://www.baidu.com/img/logo.gif" /><img src="http://www.baidu.com/img/logo.gif" /><img src="http://www.baidu.com/img/logo.gif" />
15 </div>
16 </body>
17 </html>

 

出现间隙是因为<img/>之间的空格或者换行引起的。这是第一种情况。

 

下面这种是转载来的:

IE6下图片 4px 图片出现小细缝 bug 解决办法

IE 6的Bug不少,这个是其中之一,下面罗列了一些解决方法,大家觉得有更好的可以补充:

 1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
 2 <html xmlns="http://www.w3.org/1999/xhtml"> 
 3 <head> 
 4     <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> 
 5     <title>IE注释bug</title> 
 6     <meta name="keywords" content="" /> 
 7     <meta name="description" content="" /> 
 8     <style type="text/css">
 9          #all { float:left; padding:10px 30px; font-size:12px; color:#FFF; } 
10         #sub { float:left; background-color:#F90; } 
11     </style> 
12 </head>
13 
14 <body> 
15     <div id="all"> 
16         <div id="sub">
17              <img src="http://www.w3cui.org/images/linklogo.gif" alt="" /> 
18         </div> 
19     </div> 
20 </body>
21 </html>    

 

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

即,设置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>”也可以解决这一问题。
解决办法 overflow:hidden

posted @ 2015-08-04 15:18  卡布kaka  阅读(326)  评论(0编辑  收藏  举报