身体背景颜色不适用于电子邮件时事通讯

时间:2014-05-14 09:31:56

标签: html css newsletter

我正在撰写电子邮件简报。除了身体背景颜色外,其他一切都已到位并且工作正常,或者是100%的身体宽度不起作用。

知道我在这里做错了什么,或者我怎么能让它运作起来?

我的简报的网址: https://dl.dropboxusercontent.com/u/29654441/Accessibility/New%20folder/newsletter_issue1/newsletter_inline.html

5 个答案:

答案 0 :(得分:8)

大多数邮件客户端都会忽略body元素。如果你需要背景,你必须制作一个容器元素并添加背景。

答案 1 :(得分:5)

尝试使用:

<body bgcolor="#efefef" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">
    <table width="100%" border="0" cellpadding="0" cellspacing="0">
         <tr>
              <td width="650" valign="top" align="center" bgcolor="#efefef">
                  ....
              </td>
        </tr>
    </table>
</body>

标签现在是电子邮件模板的容器包装器。由于某些电子邮件客户端会删除正文标记,因此您可以使用100%表来回退所有客户端支持的表。

我还建议您在<head>标记中使用以下内容:

<style type="text/css">
    body{width:100% !important; -webkit-text-size-adjust:100%; -ms-text-size-adjust:100%; margin:0; padding:0;}
    .ExternalClass {width:100%;}
    .ExternalClass, .ExternalClass p, .ExternalClass span, .ExternalClass font, .ExternalClass td, .ExternalClass div {line-height: 100%;}
</style>

以下是一些额外内容:

  • 防止Webkit和Windows Mobile平台更改默认字体大小,同时不破坏桌面设计。
  • 强制Hotmail以全宽显示电子邮件。
  • 强制Hotmail显示正常的行间距。

答案 2 :(得分:1)

理想情况下,机身宽度应为640,因为大多数手机和平板电脑都会正确调整电子邮件大小。

答案 3 :(得分:1)

每个电子邮件客户端都以不同的方式处理事物,因此有些人会将身体剥离,有些则不会。

我会对您的代码进行一些更改。首先,使用而不是。虽然div确实适用于大多数客户端,但您可以更灵活地使用表,因为它们会根据查看的大小调整大小。将所有内容包装在单个单元格表中,并将背景颜色应用于该元素。

最后,您需要在手机上进行一些测试,因为它们的平均宽度仅为460px,最大宽度应为760px,而不是860px。例如,您的邮件目前无法在人像iPad上显示。

http://putsmail.com/对测试非常有用。

答案 4 :(得分:1)

Body元素并不总是被忽略(特别是在Outlook中),但是您还应该将它与全宽度表配对作为后备。这也是使转发背景颜色保持白色的好方法,而你的html区域背景仍然是其他的。

以下是基本设置:

<!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>
  <style type="text/css">
    /* Client-specific Styles */
    #outlook a {padding:0;}
    body{width:100% !important; -webkit-text-size-adjust:100%; -ms-text-size-adjust:100%; margin:0; padding:0;} /* force default font sizes */
    .ExternalClass {width:100%;} .ExternalClass, .ExternalClass p, .ExternalClass span, .ExternalClass font, .ExternalClass td, .ExternalClass div {line-height: 100%;} /* Hotmail */
    a:active, a:visited, a[href^="tel"], a[href^="sms"] { text-decoration: none; color: #000001 !important; pointer-events: auto; cursor: default;}
    table td {border-collapse: collapse;}
  </style>
</head>
<body leftmargin="0" topmargin="0" marginwidth="0" marginheight="0" style="margin: 0px; padding: 0px; background-color: #FFFFFF;" bgcolor="#FFFFFF"><table bgcolor="#252525" width="100%" border="0" align="center" cellpadding="0" cellspacing="0"><tr><td><table width="600" border="0" align="center" cellpadding="0" cellspacing="0"><tr><td valign="top" style="padding-top:30px; padding-bottom:30px;">

<table width="100%" border="0" cellpadding="0" cellspacing="0">
  <tr>
    <td bgcolor="#FFFFFF" style="padding:30px;">
      Content here
    </td>
  </tr>
</table>

</td></tr></table></td></tr></table></body></html>

另外,如果你想要一个backgorund图像,html电子邮件中有2种方法。 See this answer了解更多详情。