0

我花了 2 天时间试图弄清楚为什么这个 td 的高度比它应该的要大,我知道这可能是一些我几乎无法观察到的微不足道的事情。

这是 HTML 在检查器中的外观: 在此处输入图像描述

请注意,高度为 50px,但 td 没有响应

在此处输入图像描述

即使图像高度是 50px :)

在此处输入图像描述

5px 是从哪里来的?

4

1 回答 1

1

问题的简单演示:

<table><tr><td style="border: solid red 1px; padding:0"><img 
  src=http://lorempixel.com/54/50/ alt=""></table>

绘制单元格边框后,您可以看到图像下方有空间。它保留给字母的后代,即使没有真正的字母存在——内容仍被视为文本。

最简单的解决方法是将以下内容添加到样式表中:

td img { display: block; }

这导致图像被设置为一个简单的块,而不是被视为位于文本基线上的元素文本(可以说是一个大字母)。

于 2013-01-06T09:48:02.590 回答