加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

浏览器中图片下方空白bug

(2007-11-26 18:52:07)
标签:

浏览器

图片

bug

分类: Ajax
 

http://116.img.pp.sohu.com/images/blog/2007/5/6/20/16/112f94a6eb2.gif这种情况想着大家都遇到过,一般人认识它只是ie的BUG,其实不然,在ie6.7.ff.opera中都有这种情况。怎么,不信??。那你就在我上面说的这几种浏览器中运行一下看看效果:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>浏览器中图片下方空白bug</title>
</head>

<body>
<div style="background:red">
 <img src="http://js.pp.sohu.com/ppp/blog/styles/images/editor/simg.gif" alt="图片" />
</div>
</body>
</html>


这次相信了吧??哈哈,经过多次实验找到了以下几种可以兼容以上几种浏览器的方法:
1.img{display:block}
2.删掉div与img之间的空格成这样:
<div style="background:red"><img src="http://js.pp.sohu.com/ppp/blog/styles/images/editor/simg.gif" alt="图片" /></div>
3.img{vertical-align:top 或者 middle 或者  bottom;}

还有两种方法:
1.vertical-align:text-top
2.vertical-align:text-bottom
这两种方法在ie6.7.opera里是可以作到的,不过在FF中的效果按照先后顺序是这样的

http://118.img.pp.sohu.com/images/blog/2007/5/6/20/24/112f95085fe.jpg

http://115.img.pp.sohu.com/images/blog/2007/5/6/20/27/112f949fdc4.gif

建议:
img{display:block}这种方法是大家常用的,但是我感觉这样不好,本来img是内联元素可以一行排上好几个,display:block后就成了块级元素,块级元素后面的东西是要换行显示的,那要是在一个容器内放几个图片想让它们一行排的话就是就得再加代码。多出不少的代码。
删掉空格的方法虽然是减小了字节(一个空格字节非常小可以忽略)。但是不利于代码的修改。让别人改你代码的时候会使其找不到北。自己改的时候也会看着很累。
我推荐的方法是img{vertical-align:top;}大家都知道的一个容器内的垂直居中的默认值为顶对齐,图片这么设置不会影响其它的元素。不信??你可以把我上面发的代码div的高度设的大点,看看图片是怎么排的。:)

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有