在li标签里加img的问题

今天遇到一个很诡异的问题,记得以前也遇到过,不过上次碰到的时候,回避了一下,那时候太忙了(^ ^!) 问题是在li标签里加img标签的时候,在img下会出现5px的空隙。结构是这样的:

<ul>
<li><img src="ss.gif" width="100" height="40" alt="ss"></li>
<li><img src="ss.gif" width="100" height="40" alt="ss"></li>
<li><img src="ss.gif" width="100" height="40" alt="ss"></li>
</ul>

结构很简单,不过问题就出来了,效果看这里

在尝试中发现在img标签里加align="center" 或者 加样式 img {vertical-align: top;} 就可以解决了。暴汗...目前还不知道原因

8.28 update: : 在blueidea上发现一个帖子IE图片下空隙问题解决方法集合,不过还是没人说明产生问题的原因...

Related Posts

6 Responses to 在li标签里加img的问题

  1. gravatar

    可能是因为前面的那个圆点是默认的居中。而插入的内容没有在没有设置时默认为靠底线。所以出现这样的一段缝隙。不但是图片,文字也有这样的情况,只是文字不容易看出来而已。

  2. gravatar

    list-style:none; 的话,不存在列表项标记了吧,而且那个 5px 的空隙是在 liimg 的下方

  3. gravatar

    图片文字等 inline 元素默认是和父级元素的 baseline 对齐的,而 baseline 又和父级底边有一定距离(这个距离和 font-size,font-family 相关,不一定是 5px),所以设置 vertical-align:top/bottom/text-top/text-bottom 都可以避免这种情况出现。
    而且不光 li,其他的 block 元素中包含 img 也会有这个现象。

  4. gravatar

    至于这里的 HTML 属性 align="center"(对于图片浏览器会处理成 align="middle"),就相当于 vertical-align:middle; 所以道理也是一样的,只要 vertical-align 不取 baseline,这个空隙就消失了。

  5. gravatar

    多谢old9兄的提醒,看来基础不够扎实啊...

  6. gravatar

    [...] 网站底部有个广告图片区域,用的是li排列,里面插入的img标签,CSS里设置了ul,li,img的高度都统一,在firefox里很完美,图片紧贴着外边框。但是在IE里图片的下边很明显可以看到几px的空隙,造成了高度增加,这样左右底部就不对齐了,影响美观。搜索了一下,发现了在li标签里加img的问题,进而找到蓝色理想的一篇帖子:IE图片下空隙问题解决方法集合,知道了几种解决方法.1.设置img的display为block 2.设置img的vertical-align为top 3.设置img父容器的font-size为0 4.设置img 的margin-bottom为负值,同时针对FF设置margin-bottom为0 [...]

Leave a Reply

Mail will not be published