图片(以及一般的内联块元素)被视为字符。
因此,它们遵守基线的规则。
在普通文本中,基线是大多数字母底部的横线,例如在这个句子中。
但有些字母(如 p
、q
、j
等)有下垂的尾巴超出了基线。为了防止这些尾巴与下一行的字母碰撞,基线和底线之间保留了空间。
下图说明了文本使用的不同线:
(图片来自 WHATWG)
所以,即使没有文本,图像也与基线对齐。幸运的是,修复方法非常简单:
img {vertical-align:bottom}
这将使图像与行底对齐,并消除神秘空间。
只要小心,如果您的图像很小(小于行高),则可能会看到神秘空间出现在图像上方。为了解决这个问题,请在容器元素中添加line-height:1px
。
希望此信息能帮助那些曾问及此类问题的人们!
line-height: 1px
起作用?这是一种hack,那么我们能使用稍微合理一点的值吗? - Andy Gimg
元素变为块级元素img {
display: block;
}
还将删除图像下面的空白。
img
元素包含在一个div
元素中。默认情况下,div
是块级元素,因此这本身就会防止多个div
+img
实例并排显示。如果图像在标记中相邻,则display:inline-block
将同时删除下面的空格并将元素并排显示。 - Astrotimdisplay: inline-block
不能移除下方的空白。 - Alohcidiv
上应用display: inline-block
,在子级img
上应用display: block
。 - Astrotim