http://segmentfault.com/q/1010000000441100
http://www.111cn.net/cssdiv/163/65795.htm
http://jsfiddle.net/pP5L3/1/embedded/result,html,css/
http://zhidao.baidu.com/link?url=tHtE_J8KjQ1-QytRjgAU_LRxNe08X15Jwpj7oQQztijnFW3AioZ9mVxUiwaxypvvunKwx96EGxGliRd2daSTpbiZ-rmYo92zr7YkOhFfle3
其实 img 属于 inline 元素,inline 因为受到字号和行间距的影响底部留出了一段距离,距离与字体大小有关,为了解决字母占位不同所导致的问题,那解决办法就很多了,比如:
在进行页面的DIV CSS排版时,遇到IE6(当然有时Firefox下也会偶遇)浏览器中的图片元素img下出现多余空白的问题绝对是常见的对于该问题的解决方法也是“见机行事”。
1、将图片转换为块级对象
即,设置img为“display:block;”。在本例中添加一组CSS代码:“#sub img {display:block;}”。
2、设置图片的垂直对齐方式
即设置图片的vertical-align属性为“top,text-top,bottom,text-bottom”也可以解决。如本例中增加一组CSS代码:“#sub img {vertical-align:top;}”。
3、设置父对象的文字大小为0px
即,在#sub中添加一行:“font-size:0;”可以解决问题。但这也引发了新的问题,在父对象中的文字都无法显示。就算文字部分被子对象括起来,设置子对象文字大小依然可以显示,但在CSS效验的时候会提示文字过小的错误。
4、改变父对象的属性
如果父对象的宽、高固定,图片大小随父对象而定,那么可以设置“overflow:hidden;”来解决。如本例中可以向#sub中添加以下代码:“width:88px;height:31px;overflow:hidden;”。
5、设置图片的浮动属性
即在本例中增加一行CSS代码:“#sub img {float:left;}”。如果要实现图文混排,这种方法是很好的选择。
6、取消图片标签和其父对象的最后一个结束标签之间的空格
这个方法要强调下,在实际开发中该方法可能会出乱子,因为在写代码的时候为了让代码更体现语义和层次清晰,难免要通过IDE提供代码缩进显示,这必然会让标签和其他标签换行显示,比如说DW的“套用源格式”命令。所以说这个方法可以供我们了解出现BUG的一种情况,具体解决方案的还得各位见招拆招了。
追问
设置vertical-align:middle 在右边的中间出现,