如何防止iOS 13黑暗模式破坏电子邮件


10

我们有一个电子商务应用程序,当您进行购买时,该应用程序会发送订单详细信息,而我们只是重新设计了该电子邮件模板。在过去几天中,我们收到了一些客户报告,其中电子邮件中的一半文本丢失。

最终获得屏幕截图后,我们了解到问题是在使用暗模式的iPhone上发生的。到目前为止,他们都是通过Mail应用程序或Safari使用gmail的客户(两者都有相同的问题)。我不确定gmail因素是否相关或偶然。

我们的电子邮件很简单-它具有白色背景,灰色标题和黑色正文。深色模式使白色背景和灰色标题保持不变,但是正文文本从黑色更改为白色。在白色背景上,白色文本显然是不可见的,并且电子邮件看起来缺少大量内容。

有什么措施可以防止黑暗模式将我们的文本从黑色变成白色?

我应该注意,我们的电子邮件中还嵌入了QR码,因此,我担心的解决方案将使深色模式继续为我们的完整电子邮件重新着色,因为我认为这将使QR码难以识别。

编辑:这与任何应用程序代码均不相关,因此不适用针对黑暗模式开发iOS的准则。这仅是iOS 13上处于黑暗模式下的Apple邮件应用如何显示HTML电子邮件的问题。



如果您明确设置字体的颜色会怎样?我假设深色模式仅在保留默认颜色的情况下才将字体更改为白色。
Frank Schlegel


@PratikSodha这个问题与iOS应用有关,我只是在谈论在黑暗模式下Apple的Mail应用中显示的HTML电子邮件。
杰西卡

@FrankSchlegel的颜色和背景色在任何地方都已明确设置,并且仍在改变。您提供的链接具有答案,我必须color-scheme: light only对所有元素进行设置。非常感谢。
杰西卡

Answers:


10

您可以在Apple设备上强行删除它,但是现在我们在Mac上拥有Gmail和Outlook,无法阻止它们。

只需将其放在<head>

<meta name="color-scheme" content="only">

“仅”是“仅光”的缩写(仍然有效)

这将修复iPhone暗模式和Apple Mail,但不能解决用于Mac或Gmail上的Outlook。

您目前可以在Mac上覆盖Outlook,但没有针对Gmail的已知黑客。

以下是在Mac上为Outlook覆盖的方法:

<style type="text/css">
.body, .darkmode, .darkmode div { /* With class body on the body tag, and all elements represented here that have a background color */
    background-image: linear-gradient(#ffffff,#ffffff) !important;
}
.darkmode p { /* Add other selectors for other text elements */
    -webkit-text-fill-color: #000000 !important;
}
</style>

HT到Litmus论坛上的Brian Thies


但是最好是尝试解决根本问题,而不是删除客户想要的功能(暗模式)。

苹果提供了这样一种方式,它在<head>

<meta name="color-scheme" content="light dark">
<style type="text/css">
@media (prefers-color-scheme: dark) {
        .darkmode { background-color: #1e1e1e !important; }
        .darkmode p { color: #ffffff !important; }
}
</style>

另外,请确保您的最外层背景色具有“ darkmode”类,例如

 <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
            <td align="center" class="darkmode" bgcolor="#ffffff" valign="top" style="padding: 0px 15px;">

因此,默认情况下,您将拥有白色背景,黑色文字;在深色模式下将是带有浅色文字的深色背景。

(请提供代码以供进一步查询。)


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.