如何通过电子邮件模板禁用暗黑模式

7

有没有一种方法可以禁用Outlook.com的深色模式,并强制使用我的电子邮件模板在亮色/正常模式下呈现的原始样式?


如果用户喜欢暗模式,你就不应该强制让他们使用亮模式。 - connexo
@connexo 这不是强制使用浅色模式,而是实际上改变了颜色,甚至将深色调变成浅色调。 - undefined
4个回答

4

有一种方法可以在您的电子邮件模板中禁用深色模式。 您需要将以下两个元标记添加到您的HTML中:

<meta name="color-scheme" content="light">
<meta name="supported-color-schemes" content="light">

新的浏览器可以识别暗黑模式,因此电子邮件将会像以前一样显示。在这种情况下不应该有任何自动样式覆盖。
如果你想添加暗黑模式以覆盖亮色模式的样式,建议采用以下方式进行添加:
<meta name="color-scheme" content="light dark">
<meta name="supported-color-schemes" content="light dark">
<style>
@media (prefers-color-scheme: dark) {
  /* Dark mode styles */
}
</style>

您的内联样式将保留,但是较新的电子邮件客户端将能够识别stylemedia部分。老旧的电子邮件客户端将忽略它。


1
这在我的Outlook中不起作用。 - little tiny man
Outlook在最新的Web标准和CSS支持方面一直过时。您应该始终检查适当的资源和指南,以了解特定电子邮件客户端的可能性。始终创建一个可在大多数客户端上运行的稳定解决方案,然后使用支持的功能来增强体验。 - Vladimir Jovanović
它与Gmail不兼容。 - Khalil
@Khalil 电子邮件客户端至少落后于浏览器十年,而且每个电子邮件客户端的行为都不同。请访问https://www.campaignmonitor.com/resources/guides/dark-mode-in-email/,了解在不同浏览器中出现的问题。 - Vladimir Jovanović

3
首先,你无法通过css禁用样式(暗色或亮色)。
理论上,你可以使用媒体查询(https://developer.mozilla.org/en-US/docs/Web/CSS/@media/prefers-color-scheme)来检测使用的是亮色模式还是暗色模式,并相应地应用css规则。
然而,由于你提到的是电子邮件模板,据我所知,不支持媒体查询,因此简短的回答是不行 :(

2
Outlook在电子邮件的深色模式支持方面有独特的行为。如果您想了解更多信息,可以在此处了解更多。无论如何,它使用[data-ogsc]来控制显示哪个主题:您还可以使用媒体查询来强制在浅色/深色主题偏好下显示您的模板。只需将规则复制并粘贴到@media screen and (prefers-color-scheme: dark)中;正如我所说,Outlook要求选择器[data-ogsc] .darkmode执行相同的操作。因此,一旦您创建了默认的浅色模板,请将其粘贴到这些括号中,它应该适用于大多数网络邮件,包括Outlook。

-1

您可以在电子邮件中添加任何图像来简单地忽略暗模式。这对我解决了这个问题,希望它也能帮助您解决问题。


2
问题在于图像中包含的文字对视觉障碍者来说是无法访问的。 :-( - Oo'-

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接