html - 如何正确分隔电子邮件中的内容?
问题描述
我正在为 ActiveCampaign 创建一个电子邮件模板,我需要将 3 张图像放在一行中,彼此相邻,中间有 14 像素的填充。
我创建了一个带有表格的自定义 HTML 块,但我无法正确定位图像。
我希望它看起来像什么
它在电子邮件客户端中的外观
电子邮件布局设置为全角,但内容居中并占用 500 像素。因此表格宽度设置为 500px。
任何人都可以告诉我有什么问题吗?
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td style="text-align: center;">
<table width="500px" cellspacing="0" cellpadding="0" border="0" style="border-collapse: collapse; margin: 0 auto;">
<tbody>
<tr>
<td>
<a href=""><img style="padding: 0;" src="https://ac-image.s3.amazonaws.com/6/7/7/4/3/7/home/admin/new_email_templates/group-1.jpg?r=715459984">
</a>
</td>
<td>
<a href=""><img style="padding: 0;" src="https://ac-image.s3.amazonaws.com/6/7/7/4/3/7/home/admin/new_email_templates/group_2.jpg?r=1551841180">
</a>
</td >
<td>
<a href=""><img style="padding: 0;" src="https://ac-image.s3.amazonaws.com/6/7/7/4/3/7/home/admin/new_email_templates/group.jpg?r=269367714">
</a>
</td>
</tr>
</tbody>
</table>
</tr>
</td>
</table>
解决方案
多可惜。如此多的建议,其中一些选择了几个错误排序的标签,但没有一个发现这里的基本问题之一。您已经在 HTML 属性中定义了 CSS 宽度。
当然,我无法复制您的具体问题,但我可以在 Outlook 中看到问题并修复这个小宽度属性修复了这些问题。
查看您的内表,当使用 width="##" HTML 属性时,您不能使用 px (或这些属性中的任何单位)。它只是在寻找一个数字。
因此,在您的情况下,将该属性和值更改为:width="500"。
或者,您可以删除该引用并将其更改为 style="width:500px;" 但这不是绝对必要的。我还建议删除 text-align:center; 从内部表格周围的表格单元格中添加 align="center"。除此之外,从表格中删除 margin:auto 因为这不会被某些电子邮件客户端识别,并且依靠表格单元格上的 align="center" 更安全。
这将使您的桌子居中。尽管如果您希望它保持对齐,请保持原样。
删除内表并添加单元格填充不是解决方案。
除非绝对必要,否则请不要使用 cellpadding 或 cellspacing。那里有更好的选择。
老实说,我不敢相信有些人在没有自己测试的情况下盲目地提出建议。
此外,将表格宽度转移到样式标记而不是使用 HTML 宽度属性,因为某些电子邮件客户端不会使用/读取该属性,这一点是不正确的。
是的,您可以将您的宽度转移到样式标签,但您的 HTML 属性同样有效并且可以正常工作。您需要做的就是从图中删除 px 单位。
正如其他人所说,您还有几个需要重新排序的结束标签,但这不是主要问题。
以下是我要做的调整:
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td align="center">
<table width="500" cellspacing="0" cellpadding="0" border="0" style="border-collapse: collapse;">
<tbody>
<tr>
<td>
<a href=""><img style="padding: 0;" src="https://ac-image.s3.amazonaws.com/6/7/7/4/3/7/home/admin/new_email_templates/group-1.jpg?r=715459984"></a>
</td>
<td>
<a href=""><img style="padding: 0;" src="https://ac-image.s3.amazonaws.com/6/7/7/4/3/7/home/admin/new_email_templates/group_2.jpg?r=1551841180"></a>
</td>
<td>
<a href=""><img style="padding: 0;" src="https://ac-image.s3.amazonaws.com/6/7/7/4/3/7/home/admin/new_email_templates/group.jpg?r=269367714"></a>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
</table>
对我的粗鲁回应道歉,这根本不是针对你的。
它针对大多数其他响应者。当人们在没有正确分析代码和/或在提出建议之前自己测试这些“修复”的情况下盲目回应时,这让我很恼火。
它给人的印象是抢分,而不是伸出援助之手。
试试上面的代码,让我们知道它是如何工作的。
推荐阅读
- javascript - 如何在javascript中使用dom从用户那里获取数组和数组元素的大小?
- css - 如何从打字机文本动画中删除光标
- r - 如何计算R中上一行的值+当前行的值+后续行的值的平均值?
- flutter - 防止用户在 Dart 中传递负值
- python - 当我希望我的 Discord 机器人发送 reddit 模因时,它会返回错误。我该如何解决?
- android - 空 ID 的painterResource
- amazon-web-services - 为什么 RStudio 服务器正在运行我的闪亮应用程序,但该应用程序没有显示在 aws ec2 实例上的闪亮服务器中?
- c# - Xamarin Forms:尝试为 Android 构建条件格式,错误:System.InvalidCastException Message=Object must implement IConvertible
- css - TypeError:无法读取类绑定上的 vue 绑定对象属性的未定义属性
- javascript - 当浏览器中没有垂直滚动时,div被剪切