news 2026/9/6 14:16:59

Seedance 2.5 vs MiniMax H3:AI漫剧视频生成模型横评与制作全流程

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Seedance 2.5 vs MiniMax H3:AI漫剧视频生成模型横评与制作全流程

这次我们不绕弯子,直接聊两件事:Seedance 2.5 和 MiniMax H3(网络上经常拼成 Mimax H3,具体型号名以官方发布页为准)放在一起横评,到底谁更适合做 AI 漫剧;以及从剧本到成片,一条真正能照着跑的 AI 视频制作流程。

先说结论式的判断:这两个模型都不是传统意义上需要本地大显存推理的“本地大模型”,主流开放方式都是云端 API 和官方网页工作台。换句话说,普通电脑配置就能用,决定成片质量的主要不是显卡,而是提示词设计、分镜脚本和后期剪辑。如果你是想做 AI 漫剧、AI 短剧或者自媒体视频,这篇可以直接看完再动手。

文章会覆盖四个部分:两个模型的定位差异、横向对比评测怎么设计才公平、Seedance 2.5 / MiniMax H3 在 AI 漫剧里的实际接入流程、以及 API 批量任务和电脑配置问题。全程不堆概念,只讲能落地执行的东西。

1. 核心能力速览

先给一张速览表,帮你快速判断这两个模型在你的生产流程里处于什么位置。

对比项Seedance 2.5MiniMax H3
所属阵营字节跳动系视频生成模型,与即梦等工具有联动,具体以官方页面为准MiniMax 旗下视频/多模态模型,常见于海螺等产品生态,具体以官方页面为准
主要开放方式官方网页工作台 + 云端 API官方网页工作台 + 云端 API
本地部署从公开资料看主要走云端,未确认有官方本地权重从公开资料看主要走云端,未确认有官方本地权重
本机显存需求云端推理,本机不需要大显存云端推理,本机不需要大显存
做 AI 漫剧能力文生视频、图生视频、首尾帧控制等,具体功能以官方文档为准文生视频、图生视频等多模态生成能力,具体功能以官方文档为准
批量任务官方 API 通常支持异步任务提交,需按文档实现官方 API 通常支持异步任务提交,需按文档实现
上手难度低:注册、建任务、输入提示词、下载结果低:注册、建任务、输入提示词、下载结果
适合场景AI 漫剧、短剧分镜、广告片、概念短片AI 漫剧、短剧分镜、动态分镜、视觉实验

这里必须强调:不同版本的模型能力变化很快,参数、价格、接口地址都以官方文档为准。本篇文章给的是通用分析框架和测试方法,不会把某个版本的细节当成永恒事实。

2. 适用场景与使用边界

先说你最关心的:这两个模型到底适合什么人用。

从应用场景看,Seedance 2.5 和 MiniMax H3 都非常适合做 AI 漫剧。原因很简单,漫剧的本质是把静态漫画画面变成有运镜、有动作、有节奏的短视频。这类内容对镜头语言的要求高于对物理真实感的要求,所以视频生成模型的语义理解、运镜控制、角色一致性和多镜头衔接能力,直接决定了成片能不能用。

适合的人群包括:

  • 想做 AI 漫剧但不会三维建模的内容创作者;
  • 已经有静态漫画或插画素材,想快速做成动态视频的团队;
  • 需要批量生成短视频分镜素材的后期工作室;
  • 想测试头部视频生成模型差异的技术爱好者。

不适合的场景也很清楚:

  • 需要精确物理模拟的工业级 CG 项目,这类模型不可控;
  • 需要严格真人演员表演的影视项目,涉及肖像权风险;
  • 需要本地离线推理、数据不能出内网的企业场景,云端模型默认不满足;
  • 需要逐帧精确控制的对白嘴型项目,这类模型通常做不到逐帧编辑。

使用边界必须单独强调。AI 漫剧制作涉及版权、肖像、音乐、剧本改编等多个合规点:

  • 画面角色如果是原创设计,保留设计稿和创作记录;
  • 如果参考了已有漫画、动画、游戏角色,必须确认是否有授权;
  • 配音如果是真人声音克隆,必须获得本人授权;
  • 背景音乐、音效必须使用有商用授权的素材;
  • 发布平台对 AI 生成内容有标识要求,发布前看清楚平台规则。

不要用真实人物面部生成“换脸式”内容,也不要拿未授权 IP 做商业漫剧。工具本身是中性的,生产流程里一定要把授权和合规前置。

3. 横向对比评测思路:先定标准再下结论

很多所谓的“横评”其实不公平:两个模型跑不同提示词、不同分辨率、不同时长,最后直接截图对比。这种对比没有参考价值。既然要做 Seedance 2.5 和 MiniMax H3 的横向对比,建议按下面的评测方案执行。

3.1 统一评测变量

对比前先锁定这些变量:

  • 使用完全相同的提示词和分镜脚本;
  • 使用相同的画面比例和分辨率;
  • 使用相同的视频时长;
  • 每个测试项至少跑 3 到 5 次,取稳定结果;
  • 排除网络波动和 API 限流导致的偶发失败;
  • 记录每次生成的成功率、耗时和失败原因。

3.2 评测维度

建议从以下 8 个维度打分,每个维度 1 到 5 分:

评测维度说明通过标准
语义跟随模型是否按提示词内容生成主体、动作、场景基本符合文字描述
镜头语言推拉摇移、景别切换是否自然镜头运动符合提示词设定,不突兀
角色一致性同一角色在多镜头中是否长得一致脸型、服装、发型在多镜头间无明显漂移
动态质量人物动作和物体运动是否合理无严重形变、穿模、抽搐
文字渲染画面内文字是否正常标题、招牌、字幕不乱码
首尾帧衔接图生视频或首尾帧控制是否精准首帧和尾帧内容与输入一致
生成稳定性多次生成是否都能成功成功率 80% 以上
可控性是否支持参数调整影响结果修改提示词后结果有明显对应变化

3.3 测试素材准备

建议准备三组测试提示词:

第一组:单镜头人物动作。

动漫少女站在黄昏的街道上,风吹起长发,她转身微笑,镜头缓慢推近,怀旧胶片感,细节丰富

第二组:多镜头分镜。

第一镜:城市天际线,清晨,镜头横移。第二镜:少年走进教室,坐下。第三镜:黑板上出现文字:开始。

第三组:文字渲染测试。

霓虹灯招牌写着“深夜食堂”,雨天街道,行人打伞,电影感,镜头从招牌下拉到人物

用这三组提示词分别测试两个模型,然后填评分卡。最终结果很可能不是“谁全面碾压”,而是各有胜负:有的模型语义跟随强,有的模型画面美感更好,有的更擅长运镜。你真正要选的是“最适合自己内容形态”的那个。

4. Seedance 2.5 与 MiniMax H3 的关键差异观察

在没跑自己的测试之前,可以先从公开资料和使用形态上注意几个差异点。

4.1 生态整合度

Seedance 2.5 所在的字节系生态里,视频生成不是孤立能力,它可以和图片生成、数字人、剪辑工具做组合。对于 AI 漫剧来说,这个生态意味着你可以在同一套流程里完成“图生视频”和“多镜头串联”,素材流转更顺。MiniMax H3 更多是模型能力输出,需要你自行搭建生产管线,灵活性高,但工程投入也更高。

4.2 可控方式的差异

两个模型对提示词的响应方式可能不同。实测时要重点观察:

  • 是否支持画面首帧和尾帧输入;
  • 是否支持镜头运动强度参数;
  • 是否支持负面提示词;
  • 是否支持分辨率、帧率、时长参数;
  • 对中文提示词的支持程度。

这些能力直接影响漫剧分镜能不能按脚本执行。建议把每个模型的“可控能力清单”打印出来,逐项测试。

4.3 成本与配额

云端 API 通常按生成的视频时长或分辨率计费,同时会有并发限制和队列等待。两个模型的定价策略可能不同。做批量漫剧之前,一定要用小批量任务先估算单集成本,不然很容易超出预算。

注意:这里不写具体单价,因为版本和活动变化太快,直接以官方控制台的价格页为准。

5. 提示词公式:做 AI 漫剧怎么设计提示词

“Seedance2.5 的提示词公式”是很多人搜索的热词。实际上,适合漫剧的视频生成提示词有通用结构,不区分具体模型。

5.1 六段式提示词结构

主体 + 场景 + 动作 + 镜头 + 光影色调 + 风格画质

逐项填充:

提示词要素说明示例
主体人物/物体的明确描述穿校服的少年
场景环境位置放学后的教室
动作正在做什么推开窗户,望向操场
镜头机位和运动从侧面中景缓推近景
光影色调光线氛围傍晚暖光,逆光
风格画质画面风格日系动漫,细腻光影,电影感

组装后就是完整提示词:

穿校服的少年站在放学后的教室窗前,推开窗户望向操场,镜头从侧面中景缓缓推近,傍晚暖光,逆光剪影,日系动漫风格,氛围细腻,电影感构图,高细节

5.2 分镜脚本模板

做漫剧不要一个镜头一个提示词临时想。正确做法是先做分镜表,再把每一行翻译成提示词。

镜号景别画面内容对白/台词时长提示词
01远景城市黄昏旁白:一切从那天开始5s黄昏城市天际线,云层缓慢流动,航拍感,电影色调
02中景少年站在教室窗边4s动漫少年站在窗边,逆光,镜头缓推
03近景少年抬头台词:我要去试试3s面部近景,眼神坚定,浅景深

分镜表做好后,每一行都是一个 API 任务。后面批量任务部分会讲怎么批量提交。

5.3 提示词调试技巧

如果生成结果不符合预期,不要大段重写提示词,一次只改一个变量。

  • 主体错了,先改主体描述;
  • 镜头不对,单独强化镜头描述;
  • 色调不对,替换光影关键词;
  • 画面太乱,减少并列元素;
  • 中文支持差,可以试英文提示词再翻译回中文。

逐变量调优最节省 API 额度。

6. AI 漫剧制作完整流程:从剧本到成片

这是本文最核心的可落地部分。以类似“星月梦”这类 AI 漫剧账号的常规生产路径为例,完整流程分 7 步。

6.1 剧本与结构设计

单集 AI 漫剧建议 1 到 3 分钟,对应 20 到 40 个镜头。剧本走经典三幕结构最稳:开场抛出冲突,中间推进情绪,结尾留钩子。写剧本时就要标注哪些镜头需要“特殊效果”,例如闪回、无缝转场、文字特效,这些会影响后续提示词设计。

6.2 角色视觉人设设定

在做视频之前,先固定角色形象。用文生图工具生成角色设定图:正面站立图、半身肖像图、表情图。这些图有两个用途:

  • 作为图生视频的首帧,保证视频里角色长相一致;
  • 作为后期素材库,供多集复用。

如果模型支持角色参考图上传,就优先用参考图模式;如果不支持,就只能通过文字描述加运气。从实践看,角色一致性是漫剧最容易翻车的地方,宁可多花时间做角色设定图,也不要直接文生视频。

6.3 分镜脚本翻译

把 6.2 的分镜表逐行翻译成提示词,并标注每个镜头的输入方式:

  • 纯文生视频:输入提示词直接生成;
  • 图生视频:输入角色图 + 动作描述;
  • 首尾帧控制:输入首帧图 + 尾帧描述。

6.4 生成视频素材

这一步可以通过官方网页工作台逐条生成,也可以通过 API 批量生成。批量效率更高,推荐小团队直接走 API。生成完成后,所有视频片段按镜号命名保存。

6.5 配音与对白

对白有两种方式:

  • 真人录音:质量最高,需要麦克风和配音演员;
  • TTS 合成:效率高,选择有授权的音色,并确认商用范围。

如果做 AI 漫剧,建议至少保证主角使用稳定的音色,避免每集声音不一致。配音完成后,音轨要按镜头切好,方便剪辑时对上口型。

6.6 字幕与剪辑

字幕可以手工打字,也可以用语音识别自动生成后校对。剪辑时注意几点:

  • 镜头切换和背景音乐节奏对齐;
  • 每段视频首尾各留 0.2 到 0.5 秒余量,方便转场;
  • 统一输出分辨率与帧率,方便平台发布;
  • 添加片头、片尾和本期封面。

6.7 发布前的合规检查

发布前过一遍清单:

  • 角色形象是否原创或有授权;
  • 配音音色是否获得授权;
  • BGM 是否有商用授权;
  • 是否按平台要求标注 AI 生成内容;
  • 是否涉及真实人物肖像。

全部通过再发布。这一步不能省。

7. 云端 API 接入与批量任务示例

很多团队觉得网页工作台一条条生成太慢,想接入 API 做批量任务。这里给一套通用流程和代码示例,字段名和接口地址需要按官方文档替换。

7.1 接入前准备

  • 在官方开发者平台注册账号;
  • 创建 API Key;
  • 开通对应的视频生成服务;
  • 确认计费方式和免费额度。

7.2 curl 调用示例

以下代码是示例模板,路径和字段以实际官方文档为准:

curl -X POST "https://api.example.com/v1/video/generations" \ -H "Authorization: Bearer YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "model": "seedance-2.5-demo", "prompt": "动漫少年站在黄昏教室窗边,逆光,镜头缓推,日系风格", "image_url": "https://your-bucket.example.com/character_01.png", "duration": 5, "resolution": "1280x720" }'

如果模型接口返回的是异步任务 ID,需要轮询任务状态,等生成完成后再下载结果。

7.3 Python 调用与轮询示例

import requests import time API_URL = "https://api.example.com/v1/video/generations" STATUS_URL = "https://api.example.com/v1/video/generations/{task_id}" HEADERS = { "Authorization": "Bearer YOUR_API_KEY", "Content-Type": "application/json" } payload = { "model": "video-model-name", "prompt": "动漫少女站在雨夜街道,霓虹灯闪烁,镜头横移,电影感", "image_url": "https://your-bucket.example.com/character_02.png", "duration": 5, "resolution": "1280x720" } # 1. 创建任务 resp = requests.post(API_URL, json=payload, headers=HEADERS, timeout=30) resp.raise_for_status() task_id = resp.json().get("task_id") print("task_id:", task_id) # 2. 轮询任务状态 for _ in range(60): time.sleep(10) status_resp = requests.get(STATUS_URL.format(task_id=task_id), headers=HEADERS, timeout=30) data = status_resp.json() status = data.get("status") print("status:", status) if status in ("succeeded", "failed"): break # 3. 输出结果 print(data)

注意:不同平台的异步任务唤醒时间不同,有些 5 秒就能查到,有些要 30 秒。轮询间隔建议大于 10 秒,避免触发限流。

7.4 批量任务配置文件

批量生成场景下,建议把分镜表导出为 JSON 配置文件,由脚本逐条提交。

{ "project": "ai_manhua_ep01", "model": "seedance-2.5-demo", "output_dir": "./outputs/ep01", "tasks": [ { "shot": "shot_01", "prompt": "黄昏城市天际线,云层缓慢流动,航拍感,电影色调", "duration": 5, "resolution": "1280x720" }, { "shot": "shot_02", "prompt": "动漫少年站在教室窗边,逆光,镜头缓推", "image_url": "https://your-bucket.example.com/character_01.png", "duration": 4, "resolution": "1280x720" } ] }

脚本逐条读取任务,创建任务后把 task_id 记录到本地日志,生成结束后下载视频文件。如果中途失败,重新读日志只跑失败任务,不要整批重跑。

import json import requests import time from pathlib import Path with open("tasks.json", "r", encoding="utf-8") as f: config = json.load(f) HEADERS = { "Authorization": "Bearer YOUR_API_KEY", "Content-Type": "application/json" } for task in config["tasks"]: shot = task["shot"] task_id = None try: resp = requests.post( "https://api.example.com/v1/video/generations", json={**task, "model": config["model"]}, headers=HEADERS, timeout=30, ) resp.raise_for_status() task_id = resp.json().get("task_id") print(f"{shot} submitted: {task_id}") # 轮询 for _ in range(60): time.sleep(10) status_resp = requests.get( f"https://api.example.com/v1/video/generations/{task_id}", headers=HEADERS, timeout=30, ) data = status_resp.json() if data.get("status") in ("succeeded", "failed"): break if data.get("status") == "succeeded": video_url = data.get("video_url") # 下载视频,按镜号保存 Path(config["output_dir"]).mkdir(parents=True, exist_ok=True) video_resp = requests.get(video_url, timeout=120) video_resp.raise_for_status() with open(f'{config["output_dir"]}/{shot}.mp4', "wb") as f: f.write(video_resp.content) print(f"{shot} done") else: print(f"{shot} failed: {data}") except Exception as e: print(f"{shot} error: {e}")

这里有个容易踩的坑:不要把所有任务一股脑并发提交,很多平台的并发上限很低。先一次提交 1 到 2 个任务,观察返回是否有限流,再逐步提高并发。

8. 电脑配置与资源占用

回到热词问题:Seedance 2.5 需要什么配置的电脑?

从公开使用方式看,这两个视频模型本身跑在云端,生成过程的算力压力不在你的电脑上。所以“本地部署配置”和传统 Stable Diffusion 那种本地大模型是两回事。

8.1 不同使用方式下的配置要求

使用方式CPU内存显卡网络
官方网页工作台普通即可8G 以上建议集显可用稳定,上传下载带宽好
API 批量调用普通即可8G 以上建议不需要独显稳定,需处理批量上传下载
ComfyUI 等工具接入中端以上16G 建议4G 显存起步,更高更好稳定

注意:如果只是调用视频生成 API,显卡不是必需品。但如果你要在本地工作流里做图像预处理、背景分割、字幕识别这些配套功能,显卡仍然有用。

8.2 显存和资源占用观察方法

本地任务真正占资源的是这些环节:

  • 图像预处理(抠图、放大、修复):4G 显存可跑基础任务,8G 更稳妥;
  • 语音识别生成字幕:CPU 可跑,GPU 更快;
  • 视频转码和拼接:主要吃 CPU 和内存;
  • 视频解析和抽帧:吃 CPU、磁盘 IO。

观察方式:

  • Windows 打开任务管理器,看“性能”选项卡里的 GPU 专用显存使用量;
  • Linux 用nvidia-smi查看显存占用;
  • 批量任务通过脚本记录每个任务开始和结束时间,判断是否存在瓶颈。

8.3 云端过程的“占用”其实看这些

云端 API 的“性能指标”不是本机显存,而是:

  • 任务提交到开始生成的时间(队列等待);
  • 单任务生成耗时;
  • 任务成功率;
  • API 限流和并发配额;
  • 每千次调用的成本。

这些数据都可以通过脚本记录成 CSV 表格,方便做成本统计和稳定性分析。

9. 常见问题与排查方法

问题现象可能原因排查方式解决方案
生成任务一直 pending平台队列拥堵或未开通服务查看控制台任务队列和配额等待;提交后轮询;联系客服
API 返回 401API Key 错误或过期检查请求头 Authorization重新生成 Key,放入环境变量
API 返回 429触发限流或并发超限查看错误响应中的限流说明降低并发,增加重试退避时间
生成失败,无明确报错提示词包含违规内容或参数非法检查提示词、分辨率、时长参数简化提示词,调低参数重试
视频中角色长相不一致没有使用角色参考图对比首帧和生成视频改用图生视频,固定角色图
视频出现文字乱码模型文字渲染能力不足用带文字的提示词测试尽量避免画面内文字,后期用剪辑工具加字
画面运动抽搐、形变动作描述过于复杂简化动作,减少多主体拆分镜头,每个镜头只保留一个核心动作
中文提示词理解差模型对中文支持有限同一个提示词分别用中英文测试改用英文提示词,或中英混合
下载视频速度慢输出文件大或网络问题检查带宽和下载方式用内网中转下载,或分时段下载

排查时最忌讳一次改多个变量。遇到失败,先固定提示词,只改分辨率;再固定分辨率,只改提示词。这样才知道问题出在哪一环。

10. 最佳实践与使用建议

把 AI 漫剧生产当工程项目来做,而不是逐个镜头碰运气。

第一,先跑通最小流程。不要一上来就做 40 个镜头的完整一集。先拿 5 个镜头跑完整链路:剧本、人设、分镜、生成、配音、剪辑。链路通了,再加镜头数量。

第二,建立素材目录结构。推荐按集数分目录:

ep01/ ├── scripts/ # 剧本和分镜表 ├── characters/ # 角色设定图 ├── prompts/ # 每镜头的提示词 JSON ├── raw_videos/ # 模型生成的原片 ├── tts_audio/ # 配音音频 └── final/ # 剪辑成片

目录清晰,批量报错时才知道去哪找素材。

第三,批量任务必须加日志和重试。每次提交任务都记录分镜号、task_id、时间、状态、错误码。失败后按日志重新只跑失败项。没有日志的批量任务,出问题会非常痛苦。

第四,API Key 不要硬编码在代码里。放入环境变量,例如:

export VIDEO_API_KEY="your_api_key_here"

代码里用os.getenv("VIDEO_API_KEY")读取。不要把 Key 提交到 Git 仓库,避免泄露后被人盗刷额度。

第五,视频模型生成的素材不要直接发布。人工复核是必须的,重点看:画面是否违规、文字是否乱码、角色是否崩坏、动作是否自然、声音是否匹配。AI 漫剧竞争的是“剪辑节奏”和“叙事效率”,不是单张画面的惊艳。

第六,合规前置。涉及真人肖像、已有 IP、商业音乐的内容,必须确认授权。发布平台要求标识 AI 生成的,按平台规则操作。

第七,不要迷信单一模型。从工程角度看,生产环境至少保留两个模型:主模型负责批量分镜生成,备选模型负责主模型生成失败或效果不佳的镜头。两个模型的 API 都接入同一套任务队列,按失败自动切换。

11. 总结与下一步

Seedance 2.5 和 MiniMax H3 哪个更好,不能只看别人的测评结论,因为别人不会替你跑你的分镜脚本。这篇文章给的是方法:统一变量、固定评分维度、用分镜表驱动生成、用 API 做批量、用日志做管理。按这套流程跑 20 个镜头,你自然知道哪个模型更适合你的漫剧选题。

最值得先做的动作是:选 5 个分镜镜头,用两个模型各自生成一遍,填一张评分卡,看看各自在语义跟随、角色一致性、镜头语言上的差异。最容易踩的坑是角色一致性崩坏,所以第一个测试镜头建议选角色正面动作镜头,不要先测宏大场景。

下一步扩展方向有三条:一是把分镜表到提示词的转换做自动化;二是接入 TTS 配音,把对白脚本直接转成音轨;三是搭建批量任务队列,让 20 集分镜可以夜里自动跑完,早上直接检查素材。模型会持续更新,但这些工程流程可以复用很久。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/6 14:13:08

边缘AI模型压缩与STM32Cube.AI转换部署实战指南

简介:面向嵌入式开发者和边缘AI工程师的TinyML模型部署实战手册,围绕STM32Cube.AI工具链,覆盖模型训练、量化/剪枝/知识蒸馏压缩到STM32项目生成与硬件调试的完整链路。文档共29页,单份PDF格式,压缩包大小约1.95MB&…

作者头像 李华
网站建设 2026/9/6 14:10:52

AI接单实战:技术人如何用AI工具实现技能变现?

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

作者头像 李华
网站建设 2026/9/6 14:09:15

PPAP全套表格申报实操指南:从提交等级到PSW签字全流程

简介:PPAP全套表格是面向汽车及机械制造行业质量工程师、供应商质量管理人员和生产件批准流程执行者的实用工具包。内容包括供应商与零件信息登记、报告编号编排、尺寸认可、材料认可、性能认可报告及生产件最终批准报告等关键模块。表格结构完整清晰,可…

作者头像 李华
网站建设 2026/9/6 14:06:51

基于PLC的供料控制系统设计:从I/O规划到调试全流程解析

简介:这是一份基于PLC的供料控制系统课程设计报告,面向自动化专业学生和PLC控制系统设计人员,内容完整对应课程设计任务书要求,旨在帮助掌握PLC功能指令用法与PLC控制系统设计流程。资源为单个doc文档,压缩包大小778KB…

作者头像 李华
网站建设 2026/9/6 14:04:35

JMeter性能测试实战教程:从脚本编写到报告生成与常见排查

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

作者头像 李华