HTML电子邮件中的字体颜色 - Gmail

19

我知道在HTML邮件中,必须使用内联CSS来设置样式,但是我发现在Gmail中会出现一种奇怪的覆盖情况。我正在尝试更改表格行中文本的颜色:

<tr style='color: #000; font-size: 14px; font-family: Verdana, serif;'>

但是当我在 Gmail 中打开这封邮件时,字体和黑色颜色会被 Gmail 的样式覆盖。 我通过 Firebug 查看到:

enter image description here

那个紫色被用来代替我想要的黑色,而字体系列则默认为 Arial、sans-serif。 有人知道如何安全地覆盖 Gmail 强制施加在我身上的样式吗?

更新

我将颜色更改为非黑色颜色,例如 #212a2c,颜色已正确更改,但字体系列仍停留在 Arial 上。

5个回答

11

看起来您正在为TR设置样式,但Gmail正在使用TD的样式覆盖它。当TD和TR冲突时,TD将获胜,因为它是最接近的容器...根据css3规则,最接近的匹配项会获胜。我认为如果您在TD上使用内联样式,您将能够覆盖它。


是的,我刚刚弄明白了。在<td>级别上添加样式,现在它可以工作了。这将变得很繁琐......谢谢。 - Kevin_TA
仍然很奇怪,仅仅将颜色从黑色改为其他颜色就足以覆盖紫色... - Kevin_TA
我找不到任何“官方”的资料,但从经验上看,当混合使用3位和6位颜色代码时,我注意到了奇怪的行为,尽管它们应该是等效的。在您的情况下,#000在您的原始示例中无法工作,但我非常想知道#000000是否有效。 - colonelclick
2
#000000不起作用;#111却可以——似乎Gmail对纯黑有一种奇怪的过敏反应。 - Greg

5

GMail会将您的链接从黑色(#000000)更改为默认的蓝色,可能是作为反垃圾邮件功能。

要解决此问题,只需将字体颜色更改为(#000001),例如:

<a href="#" style="color: #000001;">Click HERE</a>

1
这已经不再是问题了。#000000将按预期工作,我刚刚测试过了。 - Miguel Guerreiro

4

从经验中,我发现使用6位数的颜色代码是最安全的做法。我曾经遇到过类似的问题,仅通过将颜色代码从3位数改为6位数就解决了。毕竟,在输入3个额外数字后,不需要花费任何时间 :)


4
  1. 不要在<tr>上使用样式,而应该在<td>或围绕文本的<span>上使用。
  2. 无论您是将#000、#000000还是黑色写入颜色中,都没有关系 :)

1
哇,使用<span> [内容] </span> 对我的HTML电子邮件非常有效!在偶然发现这个方法之前,我感到非常困惑。 - 3kstc
1
很高兴我能用我七年前的帖子帮到你 ;) - Bidstrup

3

"无论你用#000、#000000还是black作为颜色都没关系 :)"

其实有时候电子邮件会以稍微不同的方式呈现3个十六进制颜色值。一般来说,为了兼容性最好使用6个十六进制数字。


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