【问题标题】:What doctype to use when generating HTML mail生成 HTML 邮件时使用什么文档类型
【发布时间】:2011-05-03 10:31:04
【问题描述】:

我正在开发一个 CMS 网站,该网站根据 HTML 页面发送简报(并转换为纯文本作为多部分/替代选项)。我想知道选择 doctype 的最佳做法是什么。

这些页面的设计当然是从真实网站简化的,因此为页面获取正确的文档类型是微不足道的 - 但话又说回来:这个时事通讯页面将显示在从 gmail 到 Outlook 的各种“浏览器”中.基于 Web 的电子邮件客户端将有自己的文档类型,本地安装的电子邮件客户端可能会有不同的引擎,可能有不同的要求。

那么,如果有的话,应该在 HTML 邮件中使用什么 doctype?

【问题讨论】:

    标签: email content-management-system doctype


    【解决方案1】:

    我通常使用和不使用 doctype 进行测试。

    基本上你希望你的 html 在标准模式和 quirksmode 下看起来一样;例如,避免设置 CSS padding+width(盒模型不兼容)并测试以查看哪些已弃用的属性在 quirksmode 下有效,但在标准模式下无效。

    【讨论】:

    • 谢谢,欢迎来到 Stack Overflow。我同意测试和避免最常见的陷阱是一个好主意,但是尽管坚果是在例如两个网络邮件服务以不同的文档类型呈现它们的页面。包含在此页面中的 - 带有未知的文档类型 - 是时事通讯,不仅仅是标题被切掉的正文。我意识到 bobince 的回答是最理性的,然后我们只需要相信任何查看软件的设计者都能充分利用它。
    【解决方案2】:

    您可以并且应该包含最能描述您的文档写入格式的文档类型。

    但这只是正确性的问题;不要指望它实际上会产生任何切实的影响。正如您所注意到的,网络邮件服务将 HTML 显示为它们自己文档的一部分,这意味着您无法在 Quirks 和 Standards Mode 之间进行选择。早在 Quirks 和 Standards 出现之前,桌面客户端通常就拥有自己陈旧的 HTML 渲染器;他们只会忽略文档类型。这两种类型的客户端都会以比 Quirks 模式所暗示的方式更糟糕的方式破坏您的 HTML。 HTML 邮件是一个充满无尽痛苦的世界。

    【讨论】:

    • 我认为正确性始终应该是目标。或者,确实是起点。谢谢。
    【解决方案3】:
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/1999/REC-html401-19991224/strict.dtd">
    <html>
    <head>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
     <title>Message from {shop_name}</title>
    </head>
    

    这是 prestashop 使用的,效果很好,所以

    【讨论】:

    • 谢谢,但实际的文档类型可能会有所不同,具体取决于我将用于网站其余部分的模板。问题是一些未知渲染上下文中间的无关文档类型会产生什么影响,或者我是否最好完全放弃它。不过还是谢谢!
    猜你喜欢
    • 1970-01-01
    • 2012-03-27
    • 1970-01-01
    • 1970-01-01
    • 2012-11-11
    • 2010-09-27
    • 2019-08-25
    • 1970-01-01
    • 2019-09-15
    相关资源
    最近更新 更多