【问题标题】:Where and when do HTML tables add white space to the bottoms of cells or rows?HTML 表格何时何地在单元格或行的底部添加空白?
【发布时间】:2014-03-09 10:36:32
【问题描述】:

尽管单元格填充和单元格间距设置为零,但 HTML 何时何地决定在其表格中添加空白?我正在处理 HTML 电子邮件,但无法使用 CSS。现在,我已经尽可能地精简了代码,以查看错误隐藏的位置。这是我得到的:

<body>                      
<table width="600" bgcolor="#000000" border="0" cellpadding="0" cellspacing="0">
      <tr>
               <td align="left" valign="bottom" width="200"><img width="200" height="38" src="img/lineone.jpg"></td>
               <td align="left" bgcolor="#000000" valign="bottom"><img  src="img/linetwo.jpg" width="293"></td>
               <td align="left" valign="bottom" width="107"><img width="107" src="img/rewardslogo.jpg"></td>
      </tr>
</table>
</body>

当我在浏览器中查看它时,它看起来像这样:(注意表格底部下方的黑线。它不应该在那里。)

任何想法、建议或解释都将不胜感激。我想我根本不明白 HTML 如何创建表格以及为什么它似乎忽略了 cellpaddingcellspacing 属性。代码最初要复杂得多,有更多的嵌套表,但这就像我可以查看电子邮件标题一样简单,问题仍然存在。有任何想法吗?

这里是问题的演示:http://jsfiddle.net/mbc8r/

我更改了单元格的 bgcolor,以便您可以更清楚地看到每个单元格的结束位置。

【问题讨论】:

  • 您是否在浏览器中检查了呈现的 HTML 以查看导致它的原因?
  • 是的,不是图片。要么是表格,要么是单元格本身。它只是将额外的间距与&lt;table&gt;
  • 您能否在demo 中重现此问题,或者是否有指向此测试页面的链接?
  • 右侧的徽标图像的尺寸为 107 x 110。它所在的单元格创建的尺寸为 107 x 114。但添加高度并不能解决问题。
  • 好主意。我用 JSFiddle 链接编辑了这个问题。谢谢!如果您有任何想法,请告诉我。

标签: html image html-table whitespace


【解决方案1】:

尝试这样做:

<tr style="padding: 0; margin: 0;">

【讨论】:

  • 感谢您的回复!起初它似乎没有帮助,但display:block; 有帮助。再次感谢您的帮助!
【解决方案2】:

这应该可以解决它:

table img {display:block;}

example

【讨论】:

  • 这解决了问题。我真的不应该在这个项目上使用 CSS,但我认为 display:block; 将在大多数浏览器和网络电子邮件客户端中工作。再次感谢!非常感谢!
  • @user2662333 如果是用于电子邮件通讯,您可以使用内联样式 - 只需将 style="display:block;" 添加到您的图像标签
猜你喜欢
  • 2020-06-05
  • 2016-01-13
  • 1970-01-01
  • 1970-01-01
  • 2019-01-30
  • 1970-01-01
  • 1970-01-01
  • 2013-05-20
  • 1970-01-01
相关资源
最近更新 更多