• 博客园logo
  • 会员
  • 周边
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
Joanna Qian
Stay Hungry, Stay Foolish!
博客园    首页    新随笔    联系   管理    订阅  订阅
img与容器下边界的空隙(缝隙) img与div(block类型元素)下边界有距离(或者叫缝隙、空隙)的解决方法

 img与div(block类型元素)下边界有距离(或者叫缝隙、空隙)。

解决方案:

法宝一:给图片img标签display:block

法宝二:定义图片img标签vertical-align:bottom,vertical-align:middle,vertical-align:top。

 img{vertical-align:bottom;}  

至于HTML属性align="center"(对于图片浏览器会处理成align="middle")的解决办法,就相当于vertical-align:middle; 所以道理也是一样的,只要vertical-align不取baseline,这个空隙就消失了。
 
法宝三:定义容器里的字体大小为0。
div { 
width:110px; 
border:1px solid #000000; 
font-size:0 
} 
 
据说原因:
图片文字等inline元素默认是和父级元素的baseline对齐的,而baseline又和父级底边有一定距离(这个距离和 font-size,font-family 相关),所以设置 vertical-align:top/bottom/text-top/text-bottom 都可以避免这种情况出现。而且不光li,其他的block元素中包含img也会有这个现象。
 
相关说明

1.ie的显示有几种模式,在html文档的开始部分声明<!DOCTYPE ....>

如果声明为strict模式,ie以w3c的方式显示文档,而w3c的标准里面<img />默认是一个inline的标签,除非自己显式的声明为 block

2.那个空隙是ie针对盒模型默认的line-height和font-size. 给img desplay:block;虽然能解决问题,但没从结构上来考虑.可谓治标不治本.

posted on 2013-03-16 03:10  Joanna Qian  阅读(3717)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3