我正在创建一个html电子邮件,我需要在表格之间添加一些垂直间距。为了解决Outlook 2007,2010和2013中不支持margin-top和margin-bottom的问题,我决定使用完全支持的边框样式在表格之间添加间距。
我在表格的底部添加了一个边框,并通过premailer运行它以获得以下内联样式:
<table align="center" style="border-collapse: collapse; mso-table-lspace: 0pt; mso-table-rspace: 0pt; border-spacing: 0; width: 600px; border-bottom-width: 20px; border-bottom-color: #f3f2ef; background-color: white; border-style: none none solid;" bgcolor="white">
这样可行,但Outlook 2007,2010和2013的边框宽度远远小于其他电子邮件客户端。我将结果放入photoshop,并以8px测量,其中应为20px。
有人能告诉我造成这种差异的原因吗?
答案 0 :(得分:4)
如果您愿意放弃使用边框,我可能会有另一种解决方案。
根据我的经验,边框不可靠,所以我通常在td中使用透明的间隔gif,如下所示:
<tr>
<td bgcolor="#f3f2ef">
<img src="http://www.yourdomain.com/images/spacer.gif" style="display:block;" width="1" height="20" alt="">
</td>
</tr>
将此作为表格中的最后一行,您应该进行设置。
答案 1 :(得分:1)
您可以通过在其中创建包含
的表格来使用spacer gifs。例如:
<table width="600" cellpadding="0" cellspacing="0" align="left">
<tr>
<td width="20" bgcolor="#959595"> </td>
<td width="560" bgcolor="#959595" style="padding: 0px;"> </td>
<td width="20" bgcolor="#959595"> </td>
</tr>
<tr>
<td width="20" bgcolor="#959595"> </td>
<td width="560" bgcolor="#FFFFFF" style="padding: 20px;"> <br>Content<br>...<br> </td>
<td width="20" bgcolor="#959595"> </td>
</tr>
<tr>
<td width="20" bgcolor="#959595"> </td>
<td width="560" bgcolor="#959595" style="padding: 0px;"> </td>
<td width="20" bgcolor="#959595"> </td>
</tr>
</table>
答案 2 :(得分:0)
我同意 DevinKoncar ,太空图像有时候是唯一的解决方案,但是最后一次我有使用它的冲动是在几年前。顺便说一句,这些图像的命名对于您的垃圾邮件评级很重要,因此既不使用“spacer”也不使用“pixel”,而是将它们命名为colorwise(如white.gif)。当您尚未下载时,Outlook Online的预览窗格将更改空间图像的大小,这在几乎所有设计中都非常难看。不要使用PNG:某些邮件客户端(如Lotus Notes)存在渲染问题。
如果你唯一要做的就是在两个表之间创建一个空格,你可以只使用BR-tag,不是吗?只需在周围的表格中设置font-size和line-heigt即可。唯一的限制是桌子下面的BR标签,但两者之间绝不是问题。
此外,您可以将BR-tag作为td内的唯一内容,并使用font-size和line-height创建所需的高度。
<table cellpadding="0" cellspacing="0" border="0" align="center" width="600"><tr><td bgcolor="#ffffff" style="font-size:20px; line-height:20px;"><br />
<table cellpadding="0" cellspacing="0" border="0" align="center" width="500"><tr><td bgcolor="#f1f1f1" style="font-size:20px; line-height:20px;">Row 1</td></tr></table><br />
<table cellpadding="0" cellspacing="0" border="0" align="center" width="500"><tr><td bgcolor="#f1f1f1" style="font-size:20px; line-height:20px;">Row 2</td></tr></table>
</td></tr></table>