跳转到内容

为什么公众号暗黑模式下字体颜色会变?深度解析微信文章渲染机制

通常,不管你的微信是“正常模式”还是开启“暗黑模式”,你看到的那些公众号文章“字体颜色”都能够自动适配。

可明明写文章的时候,都是在白底模式下写的,可能手动指定了字体颜色为#000,但为什么在暗黑模式下却自动变成了“白色”的呢?

暗黑模式下,微信会这样做

  • 背景亮度下降
  • 文本亮度提升
  • 重新校准对比度
  • 其他颜色正常渲染

要实现也不难,毕竟微信是有最终“渲染权”的,无论你如何设置样式,它最终都可以决定要不要使用你的样式。

原理分析

你的文章最终都是一段富文本数据,微信并不会直接把 HTML 原样丢给 Webview,而是会在丢给它之前,做了 3 件事情:

1. 内容结构化

微信公众号会首先会把你的内容进行整理,也就是所谓的语义化

  • 这是正文部分
  • 这是强调文字
  • 这是引用
  • 这是代码库

等等,每一个段落、模块都是有语义的。

2. 颜色处理

将你的颜色赋予“角色”:

  • 正文 —— --wx-text-primary
  • 辅助说明 —— --wx-text-secondary
  • 链接 —— --wx-text-link

等等。

在正常模式下,微信会使用你设置好的颜色进行渲染。

3. 计算颜色值

这一步才是关键所在。

暗黑模式下,微信压根就不会使用你原本的颜色,它会对颜色重新进行计算,以保证良好的阅读体验。

比如,你正文部分的颜色是#333,它会计算出暗黑模式下对应的颜色是#989898

你的颜色会被微信“夺权”,所以才能保证暗黑模式下的也能正常阅读。

为什么有些文章暗黑模式看起来并不正常?

因为你的排版太花里胡哨了,微信难以语义化出你的内容,从而导致暗黑模式下,颜色表现乱七八糟。

在写文章时,记住以下这些原则:

  • 尽量不要将浅灰色当做正文颜色
  • 不要使用图片代替文字
  • 不要使用复杂的背景模块
  • 不要过度自定义 CSS

记住:文章不是网页,不需要花里胡哨的设计,阅读体验才是至关重要的。

好的排版会增加阅读量吗?

微信才不在乎你的文章排版,你用了几级标题、有没有加分割线、配色有多高级,它压根不在乎。

但是好的排版对读者是非常重要的,这能决定读者是否有意愿继续读下去。

都说微信推荐是一门玄学,但也能拆成这 3 大指标:

  1. 点击率
  2. 完读率
  3. 正反馈(点赞、推荐、分享)

好的排版会很大程度上影响后面两项指标,从而间接影响推荐量。

因果关系

排版阅读体验行为数据推荐量

公众号应该怎样排版?

通常写公众号文章,有这些排版手段:

1. 借助第三方工具

网络上这类工具非常多,这也是大多数人的排版方式。不管你是什么行业、有没有写作经验,只要你能写就能排版。但这类工具通常都需要付费,免费模式下的功能一般都不够用。

写文章挣的那几个钱可能都还不够开会员的。

2. Markdown 写作工具

这是程序员最喜欢的一种写作方式,所见即所得,不需要花时间选样式、挑模板,也能排版出十分精美的样式来。

你可以直接使用像 VS Code 之类的编辑器,也可以使用像 Wedown 这样的专业写作工具。

3. 公众号原生编辑器

如果你对你的内容非常有自信,也完全可以不使用任何工具,有时候,没有设计就是一种最好的设计。

怎么看我的文章在暗黑模式下是否垮掉?

最好的方法就是:

在发表之前,通过公众号的预览功能发送到手机上,分别在“正常模式”和“暗黑模式”进行测试,没有问题再正式发表。

你也可以借助像 Wedown 这种工具,模拟手机上的暗黑模式。但只能作为参考,最安全的做法还是在真机上进行预览。

感谢阅读,点个关注吧!