我创建了一个非常简单的html电子邮件。 http://staging.xhtml-lab.com/mailtest/
除了hotmail.com/outlook.com
外,它在所有电子邮件客户端都运行良好 在hotmail电子邮件中左对齐,它应保持居中对齐。我已经按照emailology.org的建议添加了以下代码,但它没有效果。
<style type=“text/css”>
/**This is to overwrite Hotmail’s Embedded CSS************/
table {border-collapse:separate;}
a, a:link, a:visited {text-decoration: none; color: #00788a}
a:hover {text-decoration: underline;}
h2,h2 a,h2 a:visited,h3,h3 a,h3 a:visited,h4,h5,h6,.t_cht {color:#000 !important}
p {margin-bottom: 0}
.ExternalClass p, .ExternalClass span, .ExternalClass font, .ExternalClass td {line-height: 100%}
/**This is to center your email in Hotmail************/
.ExternalClass {width: 100%;}
</style>
有什么建议让我可以做些什么来使电子邮件中心保持一致?
答案 0 :(得分:33)
这应该会给你一个集中的电子邮件:
<table style="width: 100%; background: red;">
<tr>
<td>
<center>
<table style="width: 640px; background: blue; margin: 0 auto; text-align: left;">
<tr>
<td>
Your content here
</td>
</tr>
</table>
</center>
</td>
</tr>
</table>
center
- 标记是Outlook和outlook.com所需的标记。其他客户端使用margin
属性。在某些客户端中,文字位于center
- 标记之后的中心位置,因此需要text-align
属性。
如果您希望宽度根据屏幕大小而变化,请使用以下代码:
<table style="width: 100%; background: red;">
<tr>
<td>
<center>
<!--[if mso]>
<table style="width: 640px;"><tr><td>
<![endif]-->
<div style="max-width: 800px; margin: 0 auto;">
<table style="background: blue; text-align: left;">
<tr>
<td>
Your content here
</td>
</tr>
</table>
</div>
</center>
<!--[if mso]>
</td></tr></table>
<![endif]-->
</td>
</tr>
</table>
Outlook不支持max-width
,因此Outlook的大小固定为640px。对于所有其他客户端,电子邮件的宽度将与查看窗口的宽度相同,但最大为800px。
如果您找到这些解决方案不起作用的客户,请告知我们,以便我们找到一个能够与尽可能多的客户合作的解决方案。
答案 1 :(得分:3)
这是我建立的一个,我用作所有电子邮件的起点。它在所有主要电子邮件客户端上100%工作:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><title></title></head>
<body style="margin: 0px; padding: 0px background-color: #FFFFFF;" bgcolor="#FFFFFF"><!-- << bg color for forwarding (leave white) // main bg color >> --><table bgcolor="#252525" width="100%" border="0" align="center" cellpadding="0" cellspacing="0"><tr><td>
<!-- CENTER FLOAT WIDTH -->
<table width="600" border="0" valign="top" align="center" cellpadding="0" cellspacing="0"><tr><td><!-- Master Width of the center panel -->
preheader...
<!-- CENTER PANEL BG COLOR (to hide separation of tables on email forward from Outlook (known issue) -->
<table width="100%" border="0" cellpadding="0" cellspacing="0" bgcolor="#FFFFFF"><tr><td><!-- Master Color of the center panel -->
content...
<!-- /CENTER BG COLOR -->
</td></tr></table>
<!-- /CENTER FLOAT WIDTH -->
</td></tr></table>
<!-- /CENTER FLOAT -->
</td></tr></table></body></html>
它有一个内置的白色背景,当有人转发电子邮件时(他们可以键入白色,而html设计部分的背景保持彩色)。主面板也设置了bgcolor,因为Outlook在转发时会在表之间放置间隙。
希望有所帮助。
答案 2 :(得分:0)
您还可以通过在主表标签中添加align="center"
来使电子邮件模板居中:
<body>
<table align="center">
<tr>
<td style="width:600px;">
<!-- content -->
</td>
</tr>
</table>
</body>