在进行页面的 HTML+CSS 排版时,遇到IE6(当然有时Firefox下也会偶遇)浏览器中的图片元素 img 下出现多余空白的问题绝对是常见的,对于该问题的解决方法也是“见机行事”,根据原因的不同要用不同的解决方法,这里把解决直接把解决 image 图片布局下边的多余空隙的 BUG 的常用方法归纳,供大家参考。
1、将图片转换为块级对象
即,设置img为:
display:block;
在本例中添加一组CSS代码:
#nav img {vertical-align:top;}
2、设置图片的垂直对齐方式
即设置图片的 vertical-align 属性为“top,text-top,bottom,text-bottom”也可以解决。如本例中增加一组CSS代码:
#nav img {vertical-align:top;}
3、设置父对象的文字大小为0px
即,在#nav 中添加一行:
font-size:0;
可以解决问题。但这也引发了新的问题,在父对象中的文字都无法显示。就算文字部分被子对象括起来,设置子对象文字大小依然可以显示,但在 CSS 效验的时候会提示文字过小的错误。
4、改变父对象的属性
如果父对象的宽、高固定,图片大小随父对象而定,那么可以设置:
overflow:hidden;
来解决。如本例中可以向 #sub 中添加以下代码:
width:88px;height:31px;overflow:hidden;
5、设置图片的浮动属性
即在本例中增加一行 CSS 代码:
#nav img {float:left;}
如果要实现图文混排,这种方法是很好的选择。
6、取消图片标签和其父对象的最后一个结束标签之间的空格。
比如:
<img src="https://www.zijiebao.com/" />
<div style="width:195px; height:24px;clear:both; background:#B51D9F; ">网页设计</div>
修正为:
<img src="https://www.zijiebao.com/" />
<div style="width:195px; height:24px;clear:both; background:#B51D9F; ">网页设计</div>