div 或 span 的高度比 img 的高度要多3px。如何解决?

2022-07-22 13:58:55 浏览数 (2)

01

问 题

如果将一个 img 放在 div 或 span 里面,你会发现在img下面无端端的就多出3px的空白出来。padding、margin、border都设为0,无效!那么怎么解决这个问题呢?

代码:

代码语言:javascript复制
<div class="pic">
      <img src="/images/1.jpg"/>
</div>
<span>
      <img src="/images/2.jpg"/>
</span>

02

原 因

因为 img 默认是按基线( baseline )对齐的。对比一下图片和右边的 p, q, y 等字母,你会发现这三个字母的“小尾巴”和图片下方的空白一样高

03

解决方案

要去掉空格可以使用 vertical-align: bottom 或将 img 标签变为块级元素

至于什么是基线,还记得四线三格的英语写字本么?中间第三条线就是基线。

代码如下:

代码语言:javascript复制
img{display:block;}
img{vertical-align:bottom;}

上面两种选那种都可以

参考:

https://blog.csdn.net/yugang930823/article/details/51055989

0 人点赞