LayoutAtlas排版图鉴 打开工作台

功能

复制前的微信兼容自检

点复制时先扫描产物,逐条列出微信会过滤的写法:内嵌 style 标签、class 依赖、flex 与 grid、绝对定位、writing-mode、mark 标签等八条规则,并给出改法。这是把「发出去才发现坏了」提前到复制那一刻。

发布 2026-09-17更新 2026-09-17约 3 分钟 · 全文 1361 字

复制前自检会扫描即将复制的内容,把微信会过滤的写法逐条列出来,并给出改法。规则一共八条:内嵌 <style> 标签、出现 class、使用 writing-mode、使用 display:flex 或 grid、使用绝对或固定定位、使用 <mark> 标签、用 text-decoration 做下划线、存在空 src 的图片。发现问题的默认动作是列出清单让你决定,不是直接拦住——工具负责把风险说清楚,不替你拍板。

八条规则分别拦什么

规则为什么会被拦改法
内嵌 <style> 标签微信整体丢弃改成全内联样式
出现 class微信清掉 class,样式随之全失效把样式写进 style 属性
使用 writing-mode属性被过滤竖排改用表格逐字实现
display: flex / grid公众号不支持多列改成表格布局
position: absolute / fixed / sticky被剥离浮层改表格或直接去掉
<mark> 标签清洗时被改写改用 <span style="background:…">
text-decoration: underlinespan 包裹后不可控改用 border-bottom
空 src 的图片会显示裂图补上地址或删掉图片

为什么要做这一步

公众号排版里最贵的一种错,是发出去之后才发现样式丢了。这个错误之所以贵,是因为它同时具备三个性质:不可逆(文章已经推送)、不可见(写的时候一切正常)、不可归因(你以为是工具的问题,其实是产物形态的问题)。

自检把发现时间从「读者打开文章时」提前到「点复制那一刻」。这个提前量带来的是完全不同的处理成本——前者要撤回、要重发、要解释,后者只是在样式面板里改一个开关。

为什么是列出清单而不是禁止复制

因为有些写法是值得赌一把的。最典型的是少数场景下确实需要绝对定位来做一个角标,而你清楚自己的读者主要在用什么客户端。另一种情况是自检本身可能误报——比如你在正文里贴了一段代码,代码内容恰好含有 display:flex 这个字符串。

所以正确的设计不是「禁止」,而是「告知」。工具把每一条风险、它的后果、以及改法同时给出来,剩下的判断交给人。一个把所有可能出问题的写法都禁掉的工具,看起来更安全,实际会把正常的排版需求也一起禁掉。

自检在哪几个环节生效

  • 点「复制到公众号」时:主路径,最重要的一次检查。
  • 点「复制 HTML 源码」时:同样会检查,因为源码可能被粘进别的编辑器。
  • 「渲染源码」面板里:随时可以看到当前产物的审计结果,不用等到复制。
  • 文章体检:除了兼容性,还会给出字数、阅读时长、配图密度、长句、生僻字和 emoji 的统计。

常见问题

自检通过了就一定能粘贴成功吗?

自检覆盖的是已知会被清洗的写法,这是从微信实际清洗行为推导出来的规则集。但它不能保证所有客户端的行为完全一致——微信的编辑器版本会更新,规则集也需要跟着更新。

误报了怎么办?

自检不阻止复制,误报时点「我知道,仍然复制」即可。如果是代码块里的字符串被误判,这属于已知的假阳性,属正常范围。

为什么不干脆在生成阶段就禁止这些写法?

生成器本身确实不产出这些写法——自检的真正价值是拦粘贴进来的外部内容。从 Word、网页或别的编辑器复制进来的富文本可能带着这些写法,自检是最后一道闸。

自检会发现排版的视觉问题吗?

不会。它只做语法层面的检查,不管排版好不好看。视觉判断需要人来看,机器判据只在能明确的那几条上可靠。