2013 年 HTML 电子邮件:如何控制段落和图像等元素之间的间距?

2024-05-11

我目前正在重新设计一些 HTML 电子邮件模板,这是我几年来没有做过如此深入的事情。

我已经在 HTML 文件中制作了模板,我正在浏览器中本地测试该模板,一切看起来都很好。

  • 我使用表格进行布局
  • 我使用的唯一其他标签是<p> <a> and <img>
  • CSS 位于<style>打开后的标签<body>现在标记,但我在发送之前将其转换为内联样式,使用MailChimp CSS 内联工具 http://beaker.mailchimp.com/inline-css。我只是将它放在样式标签中,以便您在这里更容易地查看 CSS。无论如何,出于测试目的,这对许多客户端来说没有什么区别。

现在我正在从我的 PHP 应用程序发送测试电子邮件,我试图让它们发送到电子邮件客户端,看起来与我的模型相同。

我注意到的主要事情是,边距/填充样式似乎要么被忽略(例如 Outlook 2007),要么在诸如此类的内容上添加了额外的填充/边距<td>这使得一切都比我所说的更加丰富(例如 Hotmail)。

示例来源

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html>
<body>

<style type="text/css">
    td {font-family:Arial, Helvetica, sans-serif; font-size:13px; color:#444;}
    a {color:#056DA5;}
    p {margin:0; padding:6px 0 6px 0;}
    .tel {font-weight:bold; color:#056DA5;}
    #wrapper {padding:10px;}
    #signoff {padding:18px 0;}
    #signoff #questions {padding-bottom:18px;}
    #signature {padding-top:20px; border-top:1px solid #EEE;}
    #signature td {font-size:12px; color:#777;}
    #signature #logo {padding-bottom:12px;}
    #signature #contact p {padding:3px 0 3px 0;}
    #signature #contact a {text-decoration:none; font-size:13px; font-weight:bold; color:#C00;}
    #signature #contact .tel {padding-top:6px; color:#777;}
    #signature #social {padding:20px 0 20px 0;}
    #signature #social a {margin-right:8px;}
    #signature #address {font-size:11px; color:#999;}
</style>

<table id="wrapper" width="100%" bgcolor="#FFFFFF">
    <tr>
        <td>

            <table>

                <!-- ROW 1 -->
                <tr>
                    <td>[CONTENT]</td>
                </tr>

                <!-- ROW 2 -->
                <tr>
                    <td id="signoff">
                        <p id="questions">If you have any questions, email us at <a href="mailto:[email protected] /cdn-cgi/l/email-protection">[email protected] /cdn-cgi/l/email-protection</a> or call <span class="tel">01234567890</span>.</p>
                        <p>Thanks,</p>
                        <p>Company</p>
                    </td>
                </tr>

                <!-- ROW 3 -->
                <tr>
                    <td id="signature">
                        <table cellpadding="0" cellspacing="0">
                            <tr>
                                <td id="logo" colspan="3">
                                    <img src="http://www.example.com/images/email/logo.gif" alt="Company" />
                                </td>
                            </tr>
                            <tr>
                                <td id="contact">
                                    <p><a href="http://www.example.com">www.example.com</a></p>
                                    <p><a href="mailto:[email protected] /cdn-cgi/l/email-protection">[email protected] /cdn-cgi/l/email-protection</a></p>
                                    <p class="tel">01234567890</p>
                                </td>
                            </tr>
                            <tr>
                                <td id="social">
                                    <a href="https://www.facebook.com/"><img src="http://www.example.com/images/email/facebook.gif" alt="Facebook" /></a>
                                    <a href="https://twitter.com/"><img src="http://www.example.com/images/email/twitter.gif" alt="Twitter" /></a>
                                </td>
                            </tr>
                            <tr>
                                <td id="address">Company, address, city, post code</td>
                            </tr>
                        </table>
                    </td>
                </tr>
            </table>

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

尝试在浏览器中查看 HTML,然后尝试通过电子邮件发送以了解我的意思。

我做错了什么以及如何使电子邮件通过预期的 CSS 发送?


尽可能使用内联 CSS 样式(不是<style>页面上的标签,但是style=""属性)。使用 HTML 属性 (bgcolor, width, height等)尽可能代替 CSS 样式,因为有更广泛和更一致的支持。在每个元素上单独定义样式 - 不要依赖继承或级联。

我的意思是通过每个单独的属性或内联样式手动设置宽度、高度、填充、边距等td and tr, etc.

不幸的是,您永远无法实现任何与完全一致性相类似的东西 - 通常我的目标是它在 Gmail、Mac Mail 和 Outlook 中看起来不错,而这就是您真正能做到的最好的事情。 HTML 电子邮件在 CSS 支持方面仍然落后十年,并且不同邮件客户端使用的 HTML 渲染引擎之间存在巨大差异,这意味着开发向后兼容 IE6 的现代网站实际上比编写一封精心设计的优秀电子邮件要简单得多。模板。

我总是向人们推荐Campaign Monitor 出色的电子邮件客户端 CSS 兼容性图表 http://www.campaignmonitor.com/css/当被问到这个问题时。他们也有很棒的HTML 电子邮件编码指南 http://www.campaignmonitor.com/guides/coding/guidelines/.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

2013 年 HTML 电子邮件:如何控制段落和图像等元素之间的间距? 的相关文章