17

我创建了一个非常简单的 html 电子邮件。 http://staging.xhtml-lab.com/mailtest/

它在所有电子邮件客户端中都可以正常工作,除了 hotmail.com/outlook.com

在 hotmail 电子邮件中是左对齐的,它应该保持居中对齐。

我已按照 emailology.org 的建议添加了以下代码,但没有效果。

<style type=“text/css”&gt;
/**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> 

关于我还能做些什么来使电子邮件中心对齐的任何建议?

4

4 回答 4

41

这应该会给你一个居中的电子邮件:

<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-tag 是 Outlook 和 Outlook.com 所需要的。其他客户端使用该margin属性。在某些客户端中,文本在center-tag 之后居中,因此该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 的大小固定为 640 像素。对于所有其他客户端,电子邮件的宽度将与查看窗口的宽度相同,但最大为 800 像素。

如果您发现这些解决方案不起作用的客户,请告诉我,以便我们找到与尽可能多的客户合作的解决方案。

于 2013-08-12T11:25:29.777 回答
4

这是我构建的一个,用作我所有电子邮件的起点。它适用于所有主要的电子邮件客户端 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 在转发时会在表格之间放置间隙。

希望有帮助。

于 2012-11-20T16:22:00.467 回答
1

您还可以通过添加align="center"到您的主表标签来居中您的电子邮件模板:

    <body>
      <table align="center">
        <tr>
          <td style="width:600px;">
            <!-- content -->
          </td>
        </tr>
      </table>
   </body>
于 2019-01-24T21:00:23.363 回答
0

适用于 GMail 和 Outlook

<body style="width:600px;margin: auto;">
   <!-- content -->
</body>
于 2022-01-14T10:13:25.527 回答