HTML 表格单元格中的附加空格

Posted

技术标签:

【中文标题】HTML 表格单元格中的附加空格【英文标题】:Additional whitespace in HTML table cell 【发布时间】:2014-07-20 05:43:40 【问题描述】:

我不知道为什么最简单的表格单元示例会惨遭失败(在 FF29 中)。请看http://jsfiddle.net/aYWG9/:

<body>
<table style="border-spacing:0">
  <tr>
    <td style="background:red;padding:0;margin:0;border:0">
        <img src="http://rufiojones.files.wordpress.com/2011/08/foghorn_leghorn.gif"/>
   </td>
  </tr>
</table>
</body

额外的 5px 是从哪里来的,我该如何去除红色空间? (别叫我改颜色!)

【问题讨论】:

不仅在 FF 中。我在 Chrome 中也看到了红色空间。不知道它是从哪里来的。 默认情况下,&lt;img&gt; 是一个内联元素,因此需要为字母的 descender 部分留出空间,如果这样做,img display:block 将修复问题,并使 img 表现得像块级元素。 developer.mozilla.org/en/docs/… 是一篇很老的文章,但对问题的解释更详细一些。 @NickR 这本来是一个不错的答案,但现在重点是安迪。 display: block 也是一种解决方案。有一点不同,在单元格中添加其他内容会导致它出现在图像下方。 【参考方案1】:

默认情况下,图像表现为文本字符,底部有一个间隙以显示字母的悬垂部分(其下降部分)。

使用 vertical-align 属性去掉它:

img 
    vertical-align: middle;

【讨论】:

我也喜欢 display:block,很难选择...谢谢大家!【参考方案2】:

使用这种风格:

imgdisplay:inline-block;vertical-align:middle;

【讨论】:

【参考方案3】:

http://jsfiddle.net/aYWG9/9/

<img style="display:block;margin:0;padding:0" src="http://rufiojones.files.wordpress.com/2011/08/foghorn_leghorn.gif" />

margin 和 padding 为 0 以删除 css 文件中的所有其他样式。但是您可以放入您的 css 文件中:

 td imgdisplay:block;margin:0;padding:0;

【讨论】:

以上是关于HTML 表格单元格中的附加空格的主要内容,如果未能解决你的问题,请参考以下文章

如何为自定义单元格中的动态附加输入字段添加约束

怎么用trim函数来去除EXCEL表格中的空格?

一个 html 表格单元格中的单元格填充

为啥我的自定义表格单元格中的标签在单击行之前无法显示

尝试快速从数组中删除时,不应删除 tableview 单元格中的最后一个单元格

如何使用打字稿在表格的单元格中动态插入锚标记?