【问题标题】:Is calc() supported in html email?html 电子邮件中是否支持 calc()?
【发布时间】:2016-01-08 08:52:23
【问题描述】:

caniuse.com 显示calc() 现在可以在除 Opera 之外的所有现代浏览器中使用。但是电子邮件客户端对calc() 的支持有多好?

请提供相关博客或指南的链接。

编辑
我指的是 CSS calc() 函数

【问题讨论】:

  • 我怀疑您会在博客等中找到很多关于此的信息。原因是 html 电子邮件通常不被程序员所接受,他们认为 html 电子邮件是一个非常简单的东西的不必要的臃肿:电子邮件。如果您想了解更多信息,请问问自己:各种电子邮件客户端中使用的是什么 html 渲染引擎。这将回答可用的 CSS 支持。 Thunderbird 用的是 gecko 引擎,kmail 现在用的是 webkit,不知道进化邮件客户端,其实 MS-Outlook 用的是 MS-IE 引擎,所以总是和其他的有点不兼容。
  • calc() 是基于 JavaScript 的,所以我认为这不太可能。 HTML 电子邮件通常需要大约十年前的 CSS。
  • @sevenseacat 我怀疑 OP 是否引用了 js 函数。更有可能是 CSS3 中提出的 css calc() 函数:developer.mozilla.org/de/docs/Web/CSS/calc
  • 您好,最好的方法是在这里查看:campaignmonitor.com/css 就像caniuse.com 但用于电子邮件

标签: html css html-email calc


【解决方案1】:

编辑:对于 Css Calc(),我想说也许你可以在 Apple Mail 或 iOS 本地客户端中使用它,但即使是那些也不太可能。所有其他人几乎没有 CSS3 支持。请参阅https://www.campaignmonitor.com/css/ 以获取 HTML 电子邮件中可用的 CSS 和 HTML 标记的一个很好的列表。诚然,这不是 HTML 电子邮件中有效的全部列表,但由于 Calc() 甚至没有列出,我认为这不是。

EDIT2:使用 Email On Acid 做了一个简单的表格 html 电子邮件来检查结果,结果令人惊讶。
https://www.emailonacid.com/app/acidtest/display/summary/hM0n3RkP89L9bfWOtXlTpQR238VwFFotgq4PkQpvBOpUf/shared

基本上看起来它适用于:

苹果邮件

Outlook 2011(苹果版)

雷鸟

Android 4 原生客户端

iOS 原生

Aol(取决于浏览器)

Outlook.com(取决于浏览器)

(GMail 也会接受它!-但必须内联)

这比我想象的要好,但考虑到,它似乎仍然不是一个优雅的解决方案,因为它在许多流行的电子邮件客户端中完全失败 - 包括每个网络邮件应用程序(GMail 应用程序、雅虎应用程序等) .根据您的受众,这可能是一个可行的解决方案,但总的来说,我不会推荐。

【讨论】:

  • emailonacid 链接似乎没有启用共享。
  • 抱歉,我正在清理我的帐户,一定是删除了报告。将再次运行它并编辑到新链接。
【解决方案2】:

Windows 版桌面 Outlook 对 HTML 电子邮件的支持非常糟糕,其 CSS 合规性水平很差,并且停留在 ~2001 年代的 CSS 2.1 支持中。我不相信它支持任何 CSS3 功能(选择器或属性)。这是因为它使用 Word 的布局引擎。所以calc 支持肯定不存在 - 不幸的是desktop Outlook happens to be the most popular desktop e-mail client

出于这个原因,我不建议 HTML 电子邮件包含任何高级功能,而应仅作为包含您想要向用户展示的特性和功能的实际实时网页链接的引导。

【讨论】:

  • 这篇文章来自 3 年前(2012 年 9 月),不再相关。请查看 - emailclientmarketshare.com,您会发现 Outlook 不像以前那么普遍,而且它所拥有的大部分客户份额是在 B2B 世界而不是 B2C 世界中。我也不同意“高级功能”,我认为有了正确的后备,电子邮件没有理由不能为受支持的用户提供动画或轮播或任何高端功能——尤其是在 iOS 最为流行的情况下。 (freshinbox.com/resources/techniques.php)
【解决方案3】:

我认为现有的答案和 cmets 在某种程度上确实回答了 OP 的问题。 Medium 上有一篇很棒的博文,它巧妙地概述了在不同邮件引擎上对 calc() 的支持。相关摘录:

它适用于 Apple Mail(iOS 和 OS X)、Thunderbird、Outlook(iOS 和 Android 应用程序)、Gmail(网络邮件、iOS 和 Android 应用程序)、AOL(网络邮件)和旧版 Outlook.com(仍然存在)在欧洲)。

不过,Outlook.com 有一个小怪癖。网络邮件将使用包含任何括号的 calc() 过滤每个属性。

calc() 在 Lotus Notes 等旧电子邮件客户端或最新的 Outlook for Windows(使用 Word 的 HTML 呈现引擎)中不受支持。它也不适用于 Outlook Web App(Office 365 和新的 Outlook.com)和 Yahoo(网络邮件、iOS 和 Android 应用)。

此外,对于您或任何负有生成邮件模板这一可怕任务的可怜人来说,在未来这可能是个好兆头,请参考 CampaignMonitor 了解支持和不支持的内容!

【讨论】:

    猜你喜欢
    • 2011-03-04
    • 1970-01-01
    • 2021-12-12
    • 2016-03-09
    • 2010-11-13
    • 1970-01-01
    • 2021-06-16
    • 2016-08-03
    • 2011-01-13
    相关资源
    最近更新 更多