HTML电子邮件 – 允许colspan?

我想知道,如果我使用colspan属性在我打算作为电子邮件的HTML表格,将电子邮件客户端(Outlook等…)了解什么colspan做,因为我已经读过这可能会导致布局的问题?

是的。 如果不是所有的电子邮件客户端都允许所有的HTML标记。 当涉及到脚本,那么你有一个问题需要解决,因为脚本是绝大多数,如果不是所有的电子邮件客户端都不允许。

所有主要的电子邮件客户端都支持Colspan和rowspan。 他们更难,但如果你正确的话,他们是一个很好的select,结合嵌套表。

他们之所以名声不好,是因为在Outlook中有一个特别的怪癖需要考虑,否则你的布局可能会破坏。

colspan属性:

Outlook有一个问题,如果你在表格的第一行放置一个colspan,它会弄乱后续行的宽度。 解决这个问题的方法是,即使它是空行,也需要在顶行中指定单元格宽度。

这里是一个例子:

<!-- the second row in this example will not respect the specified widths in Outlook --> <table width="600" border="0" cellpadding="0" cellspacing="0"> <tr> <td width="600" colspan="3" bgcolor="#757575">&nbsp; </td> </tr> <tr> <td width="200" bgcolor="#353535">&nbsp; </td> <td width="400" bgcolor="#454545">&nbsp; </td> <td width="200" bgcolor="#555555">&nbsp; </td> </tr> </table> <!-- here is the fix - note the empty row at the top enforces the specified width in Outlook --> <table width="600" border="0" cellpadding="0" cellspacing="0"> <tr> <td width="200"> </td> <td width="400"> </td> <td width="200"> </td> </tr> <tr> <td width="600" colspan="3" bgcolor="#757575">&nbsp; </td> </tr> <tr> <td width="200" bgcolor="#353535">&nbsp; </td> <td width="400" bgcolor="#454545">&nbsp; </td> <td width="200" bgcolor="#555555">&nbsp; </td> </tr> </table> 

行跨度:

比colspan更避免的是rowspan。 我发现它实际上可以显示比嵌套表更一致取决于您的目标受众。 这是因为,由于<p class="msoNormal">标签,Outlook将邮件从Outlook转发时,行(尤其是跨<p class="msoNormal">邮件)不会像表一样分开。 如果有人将您的电子邮件转发到Gmail,这些差距尤其不可避免。

有一件事要注意的是,rowspan似乎并不适用于黑莓(我不认为是一个主要的客户端)。 所以就像在HTML电子邮件中的任何东西,你需要玩百分比游戏,并决定你最不希望它打破。

colspan和rowspan一起工​​作的基本示例:

 <table width="600" border="0" cellpadding="0" cellspacing="0"> <tr><!-- hidden row to establish widths in Outlook --> <td width="200"> </td> <td width="200"> </td> <td width="200"> </td> </tr> <tr> <td width="400" height="200" colspan="2" bgcolor="#333333">... </td> <td width="200" height="400" rowspan="2" bgcolor="#444444">... </td> </tr> <tr> <td width="200" height="400" rowspan="2" bgcolor="#555555">... </td> <td width="200" height="200" bgcolor="#666666">... </td> </tr> <tr> <td width="400" height="200" colspan="2" bgcolor="#777777">... </td> </tr> </table> 

为了完成类似于这个没有rowspan / colspan的东西,你将不得不将矩形表单元格拆分成小方块。 想象一下,如果右上方的单元格是一个与标题重叠的图像, 请参阅此问题以了解真实世界的示例 。 如果您要避免使用rowspans并将徽标图像水平分割为两个堆叠的单元格,那么Outlook将会成为问题。 没有人喜欢他们的形象缝。

在html电子邮件中,您可以始终垂直分割图像,而不会有任何接缝/间隙的风险,但是通常应该避免水平分割图像。 当需要重叠图像时,Rowspan有助于避免出现这种情况。

最后一个注意事项 – 与colspan一样,Outlook也具有与rowspan相同的跨越问题。 您需要在第一列中build立行高,以便尊重后续跨行的高度。 这是一个例子 。 注意每行中的第一个单元格是空的。

只是认为ID为你的问题添加了一些input

Colspan可以使用,但我会build议反对它。 每当我创build电子邮件(6个月的经验),我总是使用嵌套表。 此外,你只能在电子邮件中使用内联的CSS,所以我会非常小心,甚至使用边距和填充。

我在每封电子邮件上做的几件事。

始终在您网页上的每张图片中使用此代码。 它将更正图像错误下方的gmail空间。

 style="display:block" 

在任何图像链接上使用border =“0”来停止出现蓝色边框。

我希望这有帮助!

除了style =“display:block”之外,另一个提示是在图像中添加line-height:0,这样就排除了Outlook 2007中的奇怪的空白错误。

我一直都在使用colspans,但是也尽可能地嵌套表 – 避免rowspans – 它们是噩梦,当你做巢表时不要太疯狂,并且嵌套4,5 / 6,我发现开始弄糟了。

Ranspans和Colspans是好的,但我强烈build议你使用嵌套表。 您将有额外的代码行,但是,这将节省您在其他电子邮件客户端的任何rest。