AI漫剧角色一致性工作流:从参考图、LoRA到算力成本优化的完整实践
做AI漫剧做了快一年踩过最大的坑不是模型不会跑而是同一个角色在不同镜头里长得像两个人。眼睛、发型、服装细节一飘观众立刻出戏弹幕直接开喷。这一期聊聊我怎么把“角色一致性”这件事从玄学变成流程再把“算力成本”从无底洞变成可控开销。整条生产链路我拆成了四个模块角色锁定方案、分镜生成工作流、批量渲染调度、质量兜底机制。这套东西跑通之后我们团队的单集制作周期从原来的两周缩短到四天单集算力成本也降了差不多四成。如果你正在做AI漫剧、动态漫、AI绘本视频这类内容或者你只是被“角色总崩”折磨的创作者这篇内容应该能帮你省下几周试错时间。1. 内容整体设计与思路拆解1.1 角色一致性为什么是AI漫剧的生死线AI漫剧的本质是批量生产“视觉叙事内容”。观众看漫剧看的不是单张画面有多惊艳而是连续的、稳定的角色形象和叙事体验。角色一致性一旦崩掉整条片子就是灾难现场上一秒还是黑发红瞳的冷面女主下一秒成了棕发蓝眼的路人脸剧情再好观众也不买账。这个问题的根源在于生成式模型的工作原理。扩散模型每张图都是独立推理的结果它并不天然“记得”上一张图里的角色是谁。你写同一段提示词得到的脸可能完全不同。哪怕加了相同的seed换一个模型版本、换一次放大参数角色也会微妙地“漂移”。早期我们试过用固定seed加固定提示词来硬扛一致性结果只是把问题从“明显崩坏”变成了“微妙的陌生”——五官比例、瞳孔颜色、发丝走向总有地方不对劲。后来我理解了角色一致性不是单点问题而是一条链路问题。它涉及角色设计、参考图管理、模型权重、提示词模板、后处理修脸、人工质检六个环节。任何一个环节放松最终画面都会出问题。所以与其说我们在找“一个能锁住角色的咒语”不如说我们在搭一条让每个环节都保持“角色记忆”的流水线。1.2 工业化生产线的架构设计思路工业化生产线的核心不是某一个神奇模型而是把任务拆解成可重复、可质检、可并行、可降本的模块。我参考了动画公司的制片流程——美术设定、分镜、原画、上色、后期——每个环节都有独立的交付标准和验收标准。AI漫剧同样如此。我们的生产管线分五层剧本与分镜脚本层、角色资产层角色设定图、参考图、LoRA权重、画面生成层基础场景出图、角色置入、表情姿态细化、后处理层放大、修脸、定妆一致性检查、合成与质检层拼帧、动效、镜头检查。每一层独立运行层与层之间用标准化的JSON元数据衔接记录“这是什么角色、哪一集、哪个镜头、用的什么参考图”。关键决策是不把所有环节塞进同一个提示词也不在生成阶段做“一次性完美出图”。我们接受生成阶段的不完美把对一致性的修正拆到“生成后处理”里完成。这样做的好处是每一层都可以独立优化——参考图换了一批不影响模型参数LoRA权重调整了不需要重做分镜。工业化生产本质上是让每一个环节都能被单独控制、单独度量、单独迭代。2. 角色一致性工作流的工程化实现2.1 角色锁定方案参考图LoRA描述符的三层保险我在多次试验后形成了“三层锁定”方案这是目前团队里最稳定的角色一致性工作流第一层角色描述符用一段固定的、语义精确的词组描述角色核心特征。比如“黑长直少女红色眼瞳左眼角泪痣”任何镜头生成时这段描述符必须原样出现在提示词里。描述符是底线但仅仅依赖描述符远不够稳定。第二层角色参考图在出图时输入3-5张角色标准像正脸、侧脸、全身、夸张表情通过参考图机制约束模型“照着这个脸来”。这一步能有效把五官结构拉回基准线但参考图也不能完全控制风格化构图带来的漂移所以还需要第三层。第三层角色LoRA针对主角训练专属LoRA权重。LoRA相当于给模型“安装一个角色记忆插件”它学习的是这个角色本身的身份特征而不是某个特定姿势或场景。我们每个主要角色训练一个LoRA权重通常设置在0.7-0.9之间配合参考图使用。三层保险缺一不可纯靠描述符会飘纯靠参考图会在复杂构图中变形纯靠LoRA会让表情和动作僵硬。三层同时上出图稳定率能从四成左右拉到八成以上。实操细节上参考图的处理比想象中更重要。参考图不是随便丢几张就行需要统一人脸比例、统一光照方向、统一画面质量。我们通常用同一套角色设定图先手动修好再做归一化处理抠图后居中人脸占比控制在画面高度的六成左右。参考图的画风最好和最终成片画风一致否则模型会被带偏生成出“两边画风打架”的怪异图。2.2 跨场景生成的细节控制镜头分割与提示词模板漫剧和单图创作最大的区别是同一个角色要出现在不同场景、不同情绪、不同景别里。角色在场景A是白天、远景、微笑在场景B是夜晚、特写、流泪。跨场景很容易引发一致性问题。我们做了一件事把镜头类型和场景信息分离管理。提示词模板拆成“固定模块变动模块”。固定模块包括角色描述符永远不变画风描述永远不变比如“动态漫风格、精致线条、柔和光影”参考图标签统一指向该角色的标准像变动模块包括场景描述教室、街道、天台……情绪与表情惊讶、愤怒、平静……景别与镜头角度特写、中景、俯拍……光照与时间段晨光、逆光、傍晚……这样做的好处是团队里任何人写提示词都不会不小心漏掉角色核心描述。同时变动模块的插槽设计让我们可以写一套“分镜提示词模板”填表式批量生产。新来的实习生半天就能上手。还有一个容易忽略的点角色在画面中的占用比例会直接影响一致性。全身远景时脸部像素少模型倾向于自由发挥。我们的做法是远景图优先保证“体型特征和服饰特征”比如身高比例、标志性发色、外套样式脸部一致性留给中景和特写来塑造。观众对远景的角色身份认知主要靠服饰和体型不靠脸部细节这一点利用好了可以大幅减少废图。2.3 质量检测与返工机制工业化生产不能靠肉眼一张张看需要建立自动质检程序。我们用了一套轻量级检测脚本对生成的关键帧做人脸比对和标准参考图计算相似度分数。低于阈值的直接标记为“疑似崩坏”进入返工队列不进入合成环节。这里有一个实操经验不要把相似度阈值定得太高。很多新手第一次看到相似度分数0.6就觉得崩了其实对于动态姿势、不同表情来说0.6是正常的。同样角度、同样表情下相似度应该高于0.75。我们把阈值拆成两档——“硬性标准”和“软性标准”硬性标准是同一角度同一表情时相似度低于0.7就直接废掉软性标准是跨场景、跨表情时低于0.5才标记复查。用双阈值而不是单阈值返工率反而更可控。返工不是简单重新生成。如果同一镜头连续三次生成都不过关说明是提示词或参考图本身有问题我会去排查参考图是否清晰、是否有遮挡、描述符是否和画面内容冲突。盲目多抽几次只会浪费算力。3. 算力成本优化实战3.1 成本构成拆解GPU选型与推理策略算力成本是工业化漫剧的第二座大山。刚起步时团队一天盲目出图跑掉了几千元算力费用结果废片率五成以上钱全烧在垃圾图上。后来我重新梳理了成本构成发现主要花在四个地方基础出图推理占比最高一般占总量六成以上。文生图、图生图都需要多次采样迭代。高分辨率放大从基础分辨率放大到4K或者2K通常还要配合重绘细化这一步费用堪比二次生成。修脸后处理局部重绘、脸部修正虽然是局部区域但也是一次完整的推理调用。失败重试与人工返工这部分是最隐形也是最贵的成本。废图率每升高10%总成本上升远不止10%因为废图消耗了算力还要再烧一次算力重做。基于这个成本结构我的优化策略是“分级跑量”粗筛阶段用低分辨率、低采样步数、国产轻量模型快速出方案图方案定稿后再用高分辨率、高质量模型精细出图最后才根据需要决定是否放大。用最低的算力档位解决“这个镜头行不行”的问题把贵的算力留给“这个镜头终稿”的确认。3.2 批量生成与调度优化的关键操作除了分级跑量调度层面的优化空间也很大。这里分享几个我实测有效的关键参数操作第一批量大小与并行度的权衡。很多人以为并行度越高越快实际上在GPU显存有限的情况下并行度过高会导致切块重试、显存溢出反而拖慢速度。我们用RTX 3090做主力推理卡单卡单次并发生成控制在2-4张不要贪多。并发数调成2时单张耗时和并发数调成4时几乎一样但显存占用少一半稳定性高很多。并发数调成8时直接爆显存连续报错。不同显卡的甜点区间不同需要自己试但记住一个原则不要顶着显存上限跑留出10%-15%余量给临时变量。第二采样步数的降本空间。从30步降到18步视觉差异在多数场景下观众根本看不出但速度能提升约四成。前提是选择合适的采样器和调度算法。我们用DPM 2M Karras配合18-22步画面质量和30步几乎持平。当然需要精修的特写和动作大片仍保留高步数但不是所有画面都需要。第三权重缓存与模型常驻。生成过程中频繁加载模型是巨大的隐性开销。我们通过服务化部署模型让模型权重常驻显存单次推理不需要重新加载。这个优化看似不起眼实测中能让平均单张出图时间降低约20%因为模型加载时间在某些场景下比推理时间还长。3.3 缓存与复用别让重复劳动烧钱工业化生产里重复内容极多同一角色、同一场景、相近动作在不同集数里反复出现。如果我们每次都用完整流程从零生成等于反复烧钱购买同样的产品。我们的做法是建立“可复用素材库”场景底图、角色多角度标准像、常用表情组合、动态姿势模板都提前批量生成并入库。新镜头如果是使用已有场景底图配合新角色动作就不再从纯噪声开始生成而是用图生图或者局部重绘的方式从底图起步。这样做单张算力消耗大约只有从零生成的50%-65%同时构图稳定性和角色一致性还都更高。另一个容易被忽略的复用点是“放大流程复用”。高分辨率放大时我们给放大的模型配上和底图一致的seed匹配关系保证放大阶段不会出现随机性漂移。凡是需要高清放大的成片在低分辨率阶段就锁定构图和seed放大时只做分辨率提升和细节修复不做大范围改动。这避免了“放大一次角色变脸一次”的灾难更避免返工烧二次钱。4. 常见问题与排查技巧实录4.1 角色崩坏的典型场景与应对我整理了最常遇到的几类崩坏场景附上解决思路可以直接对照排查崩坏类型表现主要原因我的应对方法五官漂移同角度同表情但脸型、眼睛间距变了参考图不够清晰或提示词中角色描述冲突检查参考图质量和一致性修正描述符冲突画风分裂背景是精致细腻风格角色突然变成粗糙涂鸦风画风权重被分割角色LoRA和整体风格权重失衡降低LoRA权重增加画风描述在提示词中的靠前位置服饰漂移衣服颜色、装饰细节在镜头切换后变化角色描述符缺少服饰细节或参考图不含全身特征在描述符中增加服饰关键词并加入全身多角度参考图表情僵化所有镜头都是同一表情换个情绪却变成另一个人LoRA训练数据以面无表情为主情绪覆盖不足补充各表情训练图或使用表情参考图介入这套对照排查表帮我省掉了很多无头苍蝇式的重新生成。每次崩坏之后不要急着重新roll先判断是哪一类问题——是权重问题、数据问题、还是提示词问题。切错方向的话再试十次也是同一种崩法。4.2 显存溢出与OOM问题排查做批量渲染时OOM基本是每个人的噩梦。我们排查OOM的思路是这样的第一步看是不是分辨率太高。基础分辨率乘放大系数之后的实际像素如果超过显卡显存能承载的极限会直接爆。解决方法是把放大阶段拆成“局部重绘模式”一次性只放大画面的一部分再把局部重新拼回去显存占用能降下来一半以上。第二步看是不是批量大小太大。一边并发出图一边放大重绘显存压力叠加就更容易爆。做法是把出图和放大拆成两个队列一个队列跑完后另一个队列再接力而不是同时跑。第三步看是不是模型太多导致显存分区占用。ComfyUI这类工作流中同时加载多个模型主模型、修脸模型、放大模型显存占用可能直接用完。我们改成“按需加载”和“懒加载”同一个工作流执行过程中模型只在用到的那一步才加载。这个改动彻底扭转了反复OOM的局面。4.3 成本失控的预警与治理成本失控通常不是单张大图烧钱而是“不知不觉跑了一张又一张”。我采用了几个强制措施第一设定单集成本预算拆解到每个镜头。镜头预算一旦用超系统自动切换低参数档位强制降低出图规格。我们做的是一个简单的仪表盘脚本每出一个镜头更新剩余预算。这个机制让团队所有人对算力消耗有概念而不是闷头刷图。第二对“重试次数”做硬限制。每个镜头最多自动重试5次超过5次自动转人工介入。人工介入后会修改提示词或参考图而不是无限抽卡。第三每周做一次算力成本复盘表哪类镜头最贵、哪个环节废图率最高、哪集成本严重超支。数据出来后下周一例会就是定量讨论——废图率高的镜头模板优先重写超支的角色场景优先建底图库。这套复盘机制跑了两个月后整体成本下降了约三成效果非常显著。5. 实操中的独特细节与扩展价值5.1 一段被低估的细节交互动效前的一致性确认漫剧最终要加动效、配音和镜头运动。在动效合成阶段才发现角色崩坏返工成本是最高的因为动效师已经基于崩坏的画面做了镜头调度和幅度设计。我们的经验是任何镜头在进入动效合成之前必须通过自动人脸比对和人工抽检双重关卡。抽检不是三审三校那种流程化动作而是挑出每集最容易暴露角色特征的3-5个特写镜头让导演和制片人快速确认。这个习惯听起来笨拙但确实避免了最贵的晚期返工。5.2 投稿平台与包场制片时的交付标准如果你接外包单子或者给平台供片交付标准会和自由投稿很不一样。我们遇到过客户验收时提出“角色某些角度必须完全一致”的苛刻要求这实际上已经接近动画原画的标准化水平。这时候仅靠AI生成是满足不了100%一致的必须在后期用重绘或修图工具人工修正关键帧。所以工业化流程中一定要预留“人工精修”的人力位置不是每张图都指望AI一步到位。另外交付时最好附上“角色标准设定包”角色设定图、参考图列表、LoRA权重文件、描述符模板。有了这个设定包客户后续要补拍、加番外自己也能快速复现角色风格。这也是工业化生产的长期资产。5.3 后续扩展从漫剧到连续内容线的复用这套角色一致性工作流不只适用于漫剧。我后来把它复用到了AI绘本、AI广告分镜、AI图文短视频上底层逻辑完全相通。核心资产就是“角色资产库场景资产库提示词模板库”任何需要批量生成视觉内容的项目都可以拿这套资产库去套。如果你的团队正在憋着一部AI漫剧我强烈建议先花一到两周做角色设定资产库和LoRA训练不要急着出成品。这个前期投入大概是总项目10%的预算但它能节约约40%的后期返工时间和算力成本。我在第一次做这个沉淀时团队还有人觉得“浪费时间不直接产内容”后来所有成员都公认这是整个流程里最值得的投资。规模化管理AI漫剧生产这件事说到底就是在“内容创作的自由度”和“工业标准的确定性”之间找平衡。每次调试LoRA、每次锁seed、每次校验角色相似度都是在把一种不可控的创作冲动翻译成一条可重复的、可度量的、可优化的工作流。这个过程很繁琐但它带来的稳定性和成本优势会随着制作体量的增加越来越明显。如果你正准备启动AI漫剧项目建议先挑一个主角做完整的角色锁定方案以10个镜头为样本跑通整条流程再决定要不要扩张到多人、多场景、多集并行。先证明它能稳定产出再追求数量比一上来就全速开跑靠谱得多。

相关新闻

Codex CLI实测:让AI在终端里真正干活,完成编码任务闭环

Codex CLI实测:让AI在终端里真正干活,完成编码任务闭环

DevDay 结束当晚,我照例把发布会信息刷了两遍。如果只看标题,这会是一场信息量极大的大会:模型、API、新能力、工具链,东一榔头西一棒子地铺开,一眼看去全是亮点。但作为一个每天都在终端里写代码的人,真正…

2026/10/15 9:25:23 阅读更多 →
文献综述简单罗列,缺乏述评与研究缺口提炼问题的学术分析

文献综述简单罗列,缺乏述评与研究缺口提炼问题的学术分析

文献综述是论文的重要组成部分,核心功能是梳理学术脉络、总结前人成果、提炼研究空白,为自身研究提供立论依据。然而大量研究生撰写文献综述时,陷入文献清单式写作误区,单纯按照作者、年份罗列文献观点,只做 “述” 而…

2026/10/15 9:25:23 阅读更多 →
鲲鹏+麒麟V10部署ClickHouse 21.8 ARM64安装包实战与避坑指南

鲲鹏+麒麟V10部署ClickHouse 21.8 ARM64安装包实战与避坑指南

简介:本资源为在华为鲲鹏920处理器(aarch64架构)与麒麟V10操作系统上编译完成的ClickHouse 21.8.14安装包,面向需要在国产化自主可控环境中搭建OLAP大数据分析平台的运维与开发人员。包内共20个文件,以可执行二进制程序…

2026/10/15 9:25:23 阅读更多 →

最新新闻

HDFS面试避坑指南:从NameNode内存到DataNode心跳的实战解析

HDFS面试避坑指南:从NameNode内存到DataNode心跳的实战解析

1. 为什么“HDFS面试基础知识点”这个标题背后藏着一场隐性淘汰赛刚带完一批某高校实验室的分布式系统实训,有个细节让我印象深刻:A同学在模拟面试中被问到“HDFS写入流程里,Client和NameNode交互几次?DataNode之间要不要通信&…

2026/10/15 10:13:13 阅读更多 →
近视防控的科学原理与实用方案详解

近视防控的科学原理与实用方案详解

1. 近视防控的底层逻辑与现状分析近视的本质是眼轴过长或角膜曲率过陡导致光线无法准确聚焦在视网膜上。根据2020年国家卫健委发布的数据,我国儿童青少年总体近视率已达52.7%,其中小学生35.6%、初中生71.1%、高中生80.5%。这个数字背后反映的是现代生活方…

2026/10/15 10:13:13 阅读更多 →
H5 Canvas粒子爆炸特效:从零实现到二次开发指南

H5 Canvas粒子爆炸特效:从零实现到二次开发指南

简介:面向网页特效开发者的Canvas粒子爆炸动画示例,基于HTML5 Canvas API实现彩色粒子文字背景,通过JavaScript控制粒子生成、运动与消散,让文字在爆炸与重组中呈现强烈的视觉冲击,适用于个人主页、活动专题页等场景的…

2026/10/15 10:13:13 阅读更多 →
预测市场技术架构与流动性引擎解析

预测市场技术架构与流动性引擎解析

1. 道琼斯视角下的预测市场新范式当传统金融数据巨头开始关注预测市场领域时,这个细分赛道正在发生质的变化。Polymarket作为去中心化预测市场的典型代表,其构建的170工具生态不仅重新定义了信息聚合方式,更在主流化进程中展现出独特的价值捕…

2026/10/15 10:13:13 阅读更多 →
基于机器视觉的智慧阅卷系统测控技术与仪器计算机毕业设计选题机器学习项目

基于机器视觉的智慧阅卷系统测控技术与仪器计算机毕业设计选题机器学习项目

✅源码获取: 🍅--------------------【左上方头像,置顶文章的最上方】联系我们------------------🍅✌网站介绍:✌10年项目辅导经验、专注于计算机技术领域学生项目实战辅导。✌服务范围:大数据、机器学习、…

2026/10/15 10:13:13 阅读更多 →
计算机网络第一章核心:分层抽象与自顶向下设计思维

计算机网络第一章核心:分层抽象与自顶向下设计思维

1. 这不是背诵清单,而是网络思维的起点:为什么第一章必须“自顶向下”重学“计算机网络自顶向下复习重点-第一章”——看到这个标题,很多正在备考的同学第一反应是翻书、划线、默写五层模型。但我在带过十几届网络课程助教、参与过多个中小型…

2026/10/15 10:12:13 阅读更多 →

日新闻

Docker Compose 容器化部署 ChirpStack LoRaWAN 网络服务器实战

Docker Compose 容器化部署 ChirpStack LoRaWAN 网络服务器实战

1. 为什么选择容器化方式部署 LoRa 网络服务LoRa 物联网项目落地时,网络服务器是整个链路的核心枢纽。它负责接收网关上报的数据包、完成去重与解密、再把有效载荷分发给上层应用。早期大家习惯把网络服务器直接装在物理机上,依赖一堆系统库和特定版本的…

2026/10/15 0:00:46 阅读更多 →
共享LLM服务下的跨模型自动扩缩容:Kubernetes实战与避坑指南

共享LLM服务下的跨模型自动扩缩容:Kubernetes实战与避坑指南

1. 共享推理服务里,扩缩容到底难在哪做过大模型推理服务部署的人,大概都经历过这样的场景:一个团队共用一套推理集群,A 业务跑的是 7B 的小模型,B 业务跑的是 72B 的大模型,C 业务白天流量高、晚上几乎归零…

2026/10/15 0:00:46 阅读更多 →
Systemd 启动阶段根文件系统只读之谜:fstab 与 remount-fs 服务深度解析

Systemd 启动阶段根文件系统只读之谜:fstab 与 remount-fs 服务深度解析

1. 引子:一次内核恐慌引发的追查先从一个真实场景说起。某次我给一台老旧的嵌入式设备折腾系统裁减,为了把启动时间压进两秒以内,我手贱地把一串自认为“没用”的 systemd 服务给 disable 了,其中就包括systemd-remount-fs.servic…

2026/10/15 0:00:46 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/14 3:30:28 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/14 16:30:29 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/14 3:29:58 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/15 0:14:36 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/14 22:45:47 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/15 9:49:14 阅读更多 →