【问题标题】:100% table width for html emailhtml 电子邮件的 100% 表格宽度
【发布时间】:2014-05-14 05:44:30
【问题描述】:

我正在使用 Mailchimp 和我自己的 HTML 构建一个 HTML 电子邮件活动。我听说要构建成功的 HTML 电子邮件,您必须专注于使用表格,并使用内联 CSS。我已经从我的样式中删除了所有填充,并在边距、填充、边框和轮廓标签中添加了 0 度量。有什么建议吗?真的坚持这一点。

<body style="background:blue; margin:0; padding:0; border:0; outline:0;">

<div id="wrap" style="background:green; width:100%;">

<table width="100%">
<tr>
  <td style="
      width:100%; margin:0; padding:0; border:0; outline:0;
      height:100px;
      background:#4b86fc;
      background-size:60px 60px;
      ">
    </td>
  </tr>
</table>

<table width="500" align="center">
<tr>
  <td style="
      padding:20px 0px 25px 0px;
      color:#000; font-family:Verdana, Geneva, sans-serif;
      font-weight:100; font-size:12px;">
      <p>Hi,</p>
<p>Lorem ipsum dolor sit amet.</p>
<p>Many Thanks, 
Liam</p></td>
  </tr>
</table>

<table width="100%">
<tr>
  <td style="
      width:100%; margin:0; padding:0; border:0; outline:0;
      background-color:#ebebeb;
      background:#ebebeb;
      border-top:1px solid #c3c3c3;
      font-family:Verdana, Geneva, sans-serif;
      font-weight:100; font-size:11px;
      text-align:center;">
        <ul style="list-style-type:none; margin:0; padding:0;">
        <li style="display:inline; padding:0 8px 0 0;"><a href="" style="text-decoration: none;     color:#545454;">Homepage</a></li>
        <li style="display:inline; padding:0 8px 0 0;"><a href="" style="text-decoration: none;     color:#545454;">Twitter</a></li>
        <li style="display:inline; padding:0 8px 0 0;"><a href="" style="text-decoration: none;     color:#545454;">Dribbble</a></li>
        <li style="display:inline; padding:0 0 0 8px;"><a href="" style="text-decoration: none;     color:#545454;">Facebook</a></li>
</ul>

</td>
</tr>
</table>

</div>

</body>

【问题讨论】:

  • 我喜欢这句话:“我听说要构建成功的 HTML 电子邮件,您需要‘像 1997 年一样进行设计’”。现在这个想法是从哪里来的? :)
  • @summea:可能是微软,当时他们决定在 Outlook 中使用 Word 的渲染引擎。如果你认为 IE 对 html 不好,Word 几乎让 adobe pagemill 看起来不错。
  • 我在几篇文章、博客和教程中读到过类似的摘录,例如“我们不是很久以前就放弃了基于非语义表的设计吗?是的,现在你可以再次体验到快乐。不幸的是,大多数电子邮件客户端不支持像您习惯的普通的旧 CSS 布局。相反,它回到了 90 年代并熟悉了单元格间距。'
  • 你看过html email boilerplate 优秀的模板... HTML 电子邮件!我知道这不是问题的直接答案,但我还不能发布 cmets,抱歉。
  • 你也可以添加边距:0 !important;头内。你能描述一下你面临的问题吗?您寻求帮助但没有告诉我们问题所在。

标签: html css email mailchimp


【解决方案1】:

这会让你开始:

<!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">
    #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" bgcolor="#FFFFFF">
  <tr>
    <td>
     content
    </td>
  </tr>
</table>

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

背景设置为白色 (#FFFFFF),因此如果有人转发它,他们将在白色上书写。您可以将其更改为任何内容,只要记住没有人想在深色上打字。内表(与 &lt;body&gt; 标签在同一行)控制 html 区域背景颜色的颜色 (#252525)。内容表是您的中心浮动面板。

有关 html 电子邮件的更多信息,请参阅this thread

【讨论】:

    【解决方案2】:


    您可以在 html 电子邮件中为表格应用 100% 宽度

    还要考虑以下几点:

    1 - 必须在 &lt;head&gt; 中包含 &lt;meta http-equiv="Content-Type" content="text/html charset=UTF-8" /&gt;

    2 - 在&lt;body&gt; 申请mso-line-height-rule: exactly;。 喜欢,&lt;body mso-line-height-rule:exactly;&gt;

    3 - 请避免使用&lt;ul&gt;&lt;li&gt; 标签,您可以使用&lt;p&gt; 或任何其他支持标签。使用&amp;bull; 作为项目符号。

    4 - 使用&lt;table&gt; 而不是&lt;div&gt;

    5 - 使用&lt;b&gt; 而不是&lt;strong&gt;

    6 - 使用嵌套表,而不是 rowspancolspan

    转到https://www.campaignmonitor.com/css/ 以获取有关邮件程序 css 的各种帮助

    【讨论】:

      【解决方案3】:

      默认情况下,大多数浏览器都会为 BODY 标签添加边距。所以你需要

      <body style="background:blue;margin:0">
      

      摆脱那个边距。

      【讨论】:

      • 感谢@mareoraft 的回复,它似乎在 w3schools 之类的 HTML 编辑器中工作,但实际上在 iPhone 或网络浏览器电子邮件应用程序上不起作用。
      • 人们使用CSS Reset 来摆脱这些默认的格式设置。查看这些,您可以看到它们添加了 margin:0;填充:0;边界:0; outline:0;BODYHTML 标签。我希望这有效...
      • 接近了,虽然我的容器右侧似乎还有一些空白,但我将编辑原始问题代码,以便您看得更清楚,谢谢@mareoraft
      • 那个样板的东西看起来很棒。如果您查看the code,您可以看到 BODY 标记和许多其他标记,它们是手动设置的 width:100%。更准确地说,他们正在设置 body{width:100% !important; -webkit-文本大小调整:100%; -ms-文本大小调整:100%;边距:0;填充:0;}
      • 我要指出 Outlook 会忽略边距,因此您需要使用边距(大写 M)。
      【解决方案4】:

      你试过放吗

      margin:0;
      

      在正文样式标签中?

      【讨论】:

      • 感谢@peridot1986 的回复,我认为这在 w3schools 之类的 HTML 编辑器中确实有效,但实际上在 iPhone 或网络浏览器电子邮件应用程序上无效。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-06-15
      • 2020-02-23
      • 2019-05-30
      • 1970-01-01
      • 2012-10-15
      • 1970-01-01
      相关资源
      最近更新 更多