为什么公众号暗黑模式下字体颜色会变?深度解析微信文章渲染机制
通常,不管你的微信是“正常模式”还是开启“暗黑模式”,你看到的那些公众号文章“字体颜色”都能够自动适配。
可明明写文章的时候,都是在白底模式下写的,可能手动指定了字体颜色为#000,但为什么在暗黑模式下却自动变成了“白色”的呢?
暗黑模式下,微信会这样做:
- 背景亮度下降
- 文本亮度提升
- 重新校准对比度
- 其他颜色正常渲染
要实现也不难,毕竟微信是有最终“渲染权”的,无论你如何设置样式,它最终都可以决定要不要使用你的样式。
原理分析
你的文章最终都是一段富文本数据,微信并不会直接把 HTML 原样丢给 Webview,而是会在丢给它之前,做了 3 件事情:
1. 内容结构化
微信公众号会首先会把你的内容进行整理,也就是所谓的语义化:
- 这是正文部分
- 这是强调文字
- 这是引用
- 这是代码库
等等,每一个段落、模块都是有语义的。
2. 颜色处理
将你的颜色赋予“角色”:
- 正文 ——
--wx-text-primary - 辅助说明 ——
--wx-text-secondary - 链接 ——
--wx-text-link
等等。
在正常模式下,微信会使用你设置好的颜色进行渲染。
3. 计算颜色值
这一步才是关键所在。
暗黑模式下,微信压根就不会使用你原本的颜色,它会对颜色重新进行计算,以保证良好的阅读体验。
比如,你正文部分的颜色是#333,它会计算出暗黑模式下对应的颜色是#989898。
你的颜色会被微信“夺权”,所以才能保证暗黑模式下的也能正常阅读。
为什么有些文章暗黑模式看起来并不正常?
因为你的排版太花里胡哨了,微信难以语义化出你的内容,从而导致暗黑模式下,颜色表现乱七八糟。
在写文章时,记住以下这些原则:
- 尽量不要将浅灰色当做正文颜色
- 不要使用图片代替文字
- 不要使用复杂的背景模块
- 不要过度自定义 CSS
记住:文章不是网页,不需要花里胡哨的设计,阅读体验才是至关重要的。
好的排版会增加阅读量吗?
微信才不在乎你的文章排版,你用了几级标题、有没有加分割线、配色有多高级,它压根不在乎。
但是好的排版对读者是非常重要的,这能决定读者是否有意愿继续读下去。
都说微信推荐是一门玄学,但也能拆成这 3 大指标:
- 点击率
- 完读率
- 正反馈(点赞、推荐、分享)
好的排版会很大程度上影响后面两项指标,从而间接影响推荐量。
因果关系
排版 → 阅读体验 → 行为数据 → 推荐量
公众号应该怎样排版?
通常写公众号文章,有这些排版手段:
1. 借助第三方工具
网络上这类工具非常多,这也是大多数人的排版方式。不管你是什么行业、有没有写作经验,只要你能写就能排版。但这类工具通常都需要付费,免费模式下的功能一般都不够用。
写文章挣的那几个钱可能都还不够开会员的。
2. Markdown 写作工具
这是程序员最喜欢的一种写作方式,所见即所得,不需要花时间选样式、挑模板,也能排版出十分精美的样式来。
你可以直接使用像 VS Code 之类的编辑器,也可以使用像 Wedown 这样的专业写作工具。
3. 公众号原生编辑器
如果你对你的内容非常有自信,也完全可以不使用任何工具,有时候,没有设计就是一种最好的设计。
怎么看我的文章在暗黑模式下是否垮掉?
最好的方法就是:
在发表之前,通过公众号的预览功能发送到手机上,分别在“正常模式”和“暗黑模式”进行测试,没有问题再正式发表。
你也可以借助像 Wedown 这种工具,模拟手机上的暗黑模式。但只能作为参考,最安全的做法还是在真机上进行预览。
感谢阅读,点个关注吧!