AI植物生长延时摄影:从关键帧到成片的完整工作流 过去要做一条“种子破土、幼苗拔高、花朵绽放”的植物生长延时摄影视频通常只有两条路一是买一台带延时功能的相机找一块场地连续拍上几个星期甚至几个月期间还要祈祷光线稳定、植物不被风吹倒、电池不断电二是去素材网站买现成素材但这类素材往往清晰度一般而且已经被无数账号用过。现在这条创作链路被 AI 工具彻底改变了。你可以在电脑前完成绝大多数环节用 AI 生成从种子到开花的各个生长阶段画面用视频生成模型让中间过程动起来再通过插帧、配乐、加字幕完成后期。整个周期可以从“几个月”压缩到“几个小时”这正是标题里“Viral”两个字背后的逻辑门槛降低了创意和节奏才是决胜点。这篇文章会围绕这条链路展开不只讲“用哪个工具”而是把原理、工具选型、提示词写法、自动化脚本、常见踩坑和运营层面的中英双语做法一次讲清楚。读完你可以真正做出一条属于你自己的 AI 植物生长延时摄影视频。1. 为什么植物生长延时摄影被 AI 彻底改写很多第一次听说“AI 植物生长延时摄影”的人会误以为这不就是用 AI 跑了一个特效滤镜实际上不是。它本质上是把原来依赖“长时间物理拍摄”的信息采集过程变成了“图像生成 视频生成 时间插帧”的计算过程。传统植物延时摄影的核心成本是时间AI 方案的核心成本变成了算力和提示词设计能力。举一个直观对比传统方案把相机固定在三脚架上设置间隔拍摄比如每 5 分钟拍一张连续拍 30 天得到约 8640 张 RAW 照片再用后期软件按 30fps 合成最终得到一个 288 秒的视频。如果中途植物死了、相机没电了、光线过曝了整套素材基本作废。AI 方案先在 AI 绘图工具里生成“种子”“嫩芽”“幼苗”“叶片展开”“长出花苞”“花朵盛开”等 8 到 12 个关键阶段的静态画面再用图生视频工具把相邻两张图之间的过渡变成动态片段最后用 FFmpeg 等工具统一分辨率和帧率合成一条完整的生长动画。从创作周期看AI 方案把“月级别”的项目压缩成了“小时级别”从创作确定性看AI 方案的可控性更强因为每个阶段都可以单独重新生成。但这里必须有一个冷静判断AI 方案并不能完全替代传统拍摄的质感和真实性。植物的真实纹理、随机性、自然光影变化仍然是真实拍摄的优势。AI 更适合的是快速出片、创意验证、知识类科普视频、中短视频平台的爆款内容以及没有条件长时间拍摄的创作者。因此这篇文章的核心视角是用 AI 工具做植物生长延时摄影解决的核心问题是“让没有设备、没有场地、没有几个月等待时间的人也能快速制作高质量内容”。真正适合读这篇文章的人有三类短视频创作者想用植物生长类题材做涨粉内容但不想花几个月拍素材科普教育博主需要快速演示植物生命周期方便输出图文或双语课程对 AI 视频工作流感兴趣的技术向玩家想搞懂文生图、图生视频、插帧、序列帧自动化这一整套链路。2. AI 植物生长延时摄影的核心原理要做出流畅的 AI 植物生长延时视频需要理解四个环节文生图、图生视频、视频插帧、序列帧合成。第一个环节是文生图。我们用提示词描述某一个生长阶段的植物状态AI 绘图模型生成对应的静态画面。这个阶段决定的是“画面长什么样”包括植物的种类、角度、光线、景深、画质。如果这一步生成的关键帧风格不统一后面再强的视频模型也救不回来。第二个环节是图生视频。这一步是把两张静态关键帧之间的过渡变成动态视频。你可以输入“种子”和“嫩芽”两张图让模型生成一段从种子状态发芽的短视频。视频生成模型会尝试在语义和运动上填补中间过程最终得到几秒钟的动态片段。第三个环节是视频插帧。AI 视频模型生成的片段通常帧率不高帧与帧之间的运动跳跃感会比较明显。插帧算法比如 FFmpeg 的 minterpolate 或 RIFE 这类算法会在相邻帧之间计算中间帧让动作更平滑、帧率更高。第四个环节是序列帧合成。如果你选择先批量生成静态关键帧再用“关键帧 插帧”的方式制作动画就需要把所有静态图片按时间顺序命名再用 FFmpeg 合成视频。这个环节属于工程化处理也是精度可控性最高的方式。下面用一张表说明各环节的作用环节技术类型核心目的典型工具静态阶段画面生成文生图生成植物生长各阶段的静态关键帧Stable Diffusion、在线绘图工具阶段间过渡生成图生视频让相邻两张关键帧产生连续运动可灵 AI、Runway、Luma、Pika提升动作流畅度视频插帧把低帧率视频补到 30fps 或 60fpsFFmpeg minterpolate、RIFE合成最终成片序列帧合成把图片序列或片段拼接成完整视频FFmpeg、剪映、CapCut为什么先讲原理因为所有 AI 工具的操作界面都不一样但底层逻辑基本一致。你只要理解了这套流程无论工具怎么升级都能快速迁移。这里还要解释一个关键概念关键帧。在传统动画或视频编辑里关键帧指的是一个运动或状态发生变化的起点和终点。在 AI 植物延时摄影中关键帧就是“种子状态”“发芽状态”“开花状态”这些重要节点画面。中间过程由 AI 或插帧算法自动补全。理解了这个概念你就明白为什么提示词和关键帧一致性是最重要的如果两张关键帧之间植物形态差异过大AI 模型补出来的过渡就会很突兀看起来像“突变”而不是“生长”。3. AI 工具选型免费与低成本方案对比做 AI 植物生长延时视频不需要一次性入手最贵的工具链。合理的做法是先用免费梯队跑通流程再根据效果升级。图像生成工具的选型主要看三点可访问性、可控性、画质稳定性。如果你本机有一张显存 8GB 以上的显卡可以考虑开源的 Stable Diffusion 系列配合 WebUI 或 ComfyUI可控性极强如果你没有合适的本地算力优先使用在线绘图工具这类工具通常有免费额度注册登录后直接使用。视频生成工具的选型主要看两点单次生成时长、对图生视频的支持力度。植物生长场景最需要的是“两张图之间的过渡”所以要优先选择支持图生视频的工具。不同工具的单次生成时长和免费额度会有调整因此这里不做具体数据推荐你只需要在工具页面里确认两点是否支持输入起始图和结束图是否支持导出高清视频两项都满足基本就能胜任植物生长片段生成。插帧和合成工具推荐优先用 FFmpeg。因为 FFmpeg 是完全免费的命令行工具一次编写自动化脚本后可以反复使用而且不依赖任何在线服务的额度限制。下面给出一份工具选型参考表工具类型工具示例成本模式适用环节优缺点本地开源图像生成Stable Diffusion WebUI/ComfyUI开源免费需自备显卡关键帧生成、风格统一可控性强但部署有门槛在线图像生成通义万相、即梦、文心一格等有免费额度后续按量付费快速出关键帧上手门槛低但额度有限图生视频可灵 AI、Luma、Pika、Runway 等一般有免费试用额度相邻关键帧过渡效果直观但部分工具单次时长有限视频插帧FFmpeg minterpolate / RIFEFFmpeg 免费RIFE 开源提升帧率和流畅度本地运行适合批量处理剪辑与字幕剪映、CapCut免费功能基本够用配音、字幕、配乐支持双语字幕操作导出方便选择策略上我更推荐“组合式工作流”用开源或本地工具控制关键帧画质用在线视频生成工具出动态过渡最后统一用 FFmpeg 做合成和插帧。这样既能保证画质可控又不会把自己的整个流程绑定在单一在线工具上尤其适合需要批量出内容的创作者。如果你是第一次尝试建议从“在线图像生成 在线图生视频 FFmpeg 合成”三步开始这已经是成本最低、见效最快的路径。4. 环境准备与基本流程设计在开始做视频之前先把环境准备好。本文不绑定特定版本原则是“能用、能复现、能排查”建议你在执行时把命令中的路径和名称替换成自己的实际配置。你需要准备的基础环境包括一台能上网的电脑Windows、macOS 或 Linux 均可Python 3.8 或更高版本主要用于运行自动化脚本FFmpeg用于图片序列合成视频、插帧和视频信息检查一个可用的 AI 绘图工具账号或本机部署的 Stable Diffusion WebUI一个可用的图生视频工具账号。其中 FFmpeg 的安装方式在不同操作系统上有差异。Windows 用户可以从 FFmpeg 官网下载编译好的可执行文件把 bin 目录加入系统环境变量macOS 用户可以使用 Homebrew 安装Linux 用户通常可以直接用包管理器安装。安装完成后先建立一个规范的目录结构。往后所有环节都会用到这套目录避免素材越来越乱。mkdir -p plant_timelapse/{prompts,seed,keyframes,interpolated,final,scripts}目录说明prompts存放每个生长阶段的提示词文本seed存放第一张种子状态图也作为风格基准keyframes存放 AI 生成的关键帧图片interpolated存放完成后经过插帧处理或待处理的视频片段final存放最终合成的视频scripts存放 Python 脚本和批处理脚本。接下来设计整个视频的生长阶段。以一个常见的小植物生命周期为例建议拆成 8 个阶段种子 - 吸水膨胀 - 破土出芽 - 幼苗伸展 - 叶片展开 - 茎秆拔高 - 花苞形成 - 花朵盛开每个阶段对应一张关键帧。如果做成 30fps、8 秒的视频总共需要 240 帧而 AI 不会直接生成 240 张连续图我们只需要 8 张关键帧剩下的中间过渡交给图生视频模型和插帧算法去完成。这一步的价值在于你把“拍三个月”的流程抽象成了“规划 8 个画面节点”的流程。节点分得越清晰后续提示词越容易写视频生成模型也越容易理解你的意图。如果你做的是更加复杂的视频比如“从种子到结果再枯萎”可以在基础流程上加两个阶段开花后形成果实、果实成熟后叶片枯黄。整体结构完全一样只是关键帧数量增加。5. 关键提示词设计让 AI 画出完整的生长过程很多 AI 视频翻车不是死在工具而是死在提示词。植物生长延时摄影对提示词的要求尤其高因为它需要跨多个阶段保持风格统一。所谓提示词是你告诉 AI“要画什么”的自然语言指令。在文生图场景里提示词越具体、结构越清晰生成结果越可控。建议统一使用“主体 生长阶段 环境 光线 镜头 风格 画质”的模板。以“种子”关键帧为例提示词可以写成微距摄影一粒刚刚吸水的植物种子种皮微微裂开露出白色胚芽潮湿的棕色土壤浅景深柔和的自然光绿色与棕色色调超写实风格电影级质感高细节8K以“破土出芽”关键帧为例微距摄影一颗嫩芽刚刚从土壤中冒出嫩绿色带着细小的泥土颗粒背景虚化柔和的清晨光线浅景深超写实植物摄影风格电影级光影高细节8K英文提示词在部分在线工具或模型上效果更稳定因为主流图像模型大多数使用英文训练语料。中英双语提示词模板如下Macro photography, a tiny green sprout emerging from moist brown soil, small soil particles on leaves, soft morning light, shallow depth of field, hyper-realistic botanical photography, cinematic lighting, high detail, 8k每个阶段都建议保存一份独立的提示词文件例如prompts/stage_01_seed.txt、prompts/stage_02_sprout.txt。这样既方便批量调用也方便后续微调。除了提示词文本还要注意生成参数。如果图像生成工具提供了可调参数建议按以下原则设置分辨率统一所有关键帧尽量使用相同分辨率便于后期合成风格保持一致每张图都保留同样的环境描述例如“moist brown soil”和“soft natural light”尽量固定种子如果工具支持 Seed 参数可以在同一植物主体上尝试固定 Seed 或相近 Seed减少不同帧之间的主体漂移画面构图稳定植物主体尽量保持在画面中央避免大幅度的视角切换。提示词设计是整个视频的“脚本”。你可以把每个阶段的中英双语提示词都存成一条记录后续生成视频片段时也要重复用到这些描述让视频生成模型知道“你希望保持什么环境、什么画风”。6. 从静态图到动态视频批量生成与自动合成这一步是整个流程的工程化核心。一条完成的植物生长延时视频可以分三种方式制作纯图生视频拼接、关键帧加插帧、两者混合。这里先讲最常用也最稳定的方式先生成关键帧再用图生视频生成过渡片段最后用 FFmpeg 统一合成。假设你已经用 AI 绘图工具生成了 8 张关键帧frame_01.png到frame_08.png存放在keyframes目录。接下来要做的是让相邻两帧之间“动起来”。图生视频操作界面各工具不同但流程大同小异选一张开始图、选一张结束图、输入描述过渡动作的文字然后生成。例如“种子”到“破土出芽”的动态描述可以写The seed swells, the seed coat splits, a tiny sprout grows upward, gentle motion, natural soil movement, soft lighting, time-lapse style生成后你会得到若干段短视频把它们按顺序导出到interpolated目录。这里容易遇到的问题有三类某一段过渡不自然单独重新生成这一段不要为了省时间保留明显失败片段片段画风不统一回到提示词模板检查环境描述是否一致片段时长不一致先统一用 30fps 或 60fps 渲染后期用 FFmpeg 对齐。如果你想更高效并且本机部署了 Stable Diffusion WebUI可以用 Python 脚本批量调用图像生成接口一次性生成所有关键帧的初始版本。下面的脚本是一个思路级示例实际调用时请以自己部署的模型服务接口为准# scripts/generate_keyframes.py # 思路示例批量调用本地图像生成服务输出关键帧图片 import os import time import base64 import requests API_URL http://127.0.0.1:7860/sdapi/v1/txt2img OUTPUT_DIR ../keyframes # 每个阶段的提示词需要自行按模型能力补充 stage_prompts [ a seed on wet soil, macro, soft light, seed sprouting, tiny root and shoot, macro, small green sprout, soil, soft light, ] for i, prompt in enumerate(stage_prompts, start1): payload { prompt: prompt, negative_prompt: blurry, distorted, watermark, steps: 25, width: 768, height: 768, } resp requests.post(API_URL, jsonpayload) if resp.status_code ! 200: print(fstage {i} failed: {resp.status_code}) continue data resp.json() if images not in data or not data[images]: print(fstage {i} returned no image) continue img_data base64.b64decode(data[images][0]) output_path os.path.join(OUTPUT_DIR, fframe_{i:02d}.png) with open(output_path, wb) as f: f.write(img_data) print(fsaved: {output_path}) time.sleep(1)这个脚本的核心逻辑很简单构造请求、发送提示词、接收 Base64 图片数据、写入文件。如果你用的是在线 API 服务把API_URL和请求参数替换成对应服务商的文档即可。关键帧生成完毕可以用 FFmpeg 先把纯静态图片序列合成一个基础版本。这个版本虽然只有“跳变式”效果但能帮你确认画风和构图是否统一ffmpeg -framerate 2 -i keyframes/frame_%02d.png -c:v libx264 -pix_fmt yuv420p final/storyboard_preview.mp4这段命令会以每秒 2 帧的速度播放 8 张静态图方便你快速检查。接下来把图生视频工具生成的所有过渡片段放在interpolated目录用 FFmpeg 统一检查分辨率。如果分辨率不一致先统一缩放ffmpeg -i input.mp4 -vf scale1920:1080 -c:a copy output_1080.mp4最后用插帧提升流畅度。下面命令用 FFmpeg 的 minterpolate 滤镜把视频补帧到 60fpsffmpeg -i input.mp4 -vf minterpolatefps60:mi_modemci:mc_modeaobmc:me_modebidir output_60fps.mp4插帧参数说明fps60目标帧率mi_modemci运动补偿插值模式适合自然运动场景mc_modeaobmc自适应重叠块运动补偿能减少边缘模糊me_modebidir双向运动估计前后帧信息都参与计算。如果你同时有多个片段可以先把所有片段按顺序生成一个列表文件再用 FFmpeg concat 命令一次性合并# 先创建 filelist.txt内容为 # file interpolated/clip_01.mp4 # file interpolated/clip_02.mp4 # ... ffmpeg -f concat -safe 0 -i filelist.txt -c copy final/merged.mp4注意concat 命令要求所有片段的分辨率、帧率、编码格式一致否则合并后可能出现黑屏或音画不同步。这一步需要提前检查。7. 运行结果与效果验证视频生成之后不要急着上传。先用工程化方式验证一遍效果避免发布出去后再发现硬伤。第一步检查关键帧是否完整。确认keyframes目录里的图片数量与阶段数量一致文件名按顺序排列ls -1 keyframes/如果文件名跳号比如frame_01.png后面直接是frame_03.png会在合成时导致某个阶段缺失。第二步用 FFmpeg 检查合成后的视频参数。重点看分辨率、帧率、总帧数和时长ffprobe -v error -select_streams v:0 -show_entries streamwidth,height,r_frame_rate,nb_frames,duration -of csvp0 final/plant_growth.mp4输出示例1920,1080,30/1,240,8.000000这说明视频是 1920×1080、30fps、共 240 帧、时长 8 秒。只要这几项符合预期说明合成环节基本没问题。第三步逐段检查过渡效果。把最终视频从头播放一遍重点观察以下位置关键帧切换瞬间是否有明显“跳动”叶片和茎秆的运动是否连续土壤质感和光线是否保持一致有没有出现植物主体变形、扭曲的帧。如果发现问题最快速的定位方式是把视频拆成单帧找到问题出现的具体时间点再对应到当时使用的过渡片段或关键帧。ffmpeg -i final/plant_growth.mp4 -vf selecteq(n,120) -vframes 1 output_frame_120.png这条命令会输出视频的第 120 帧画面。你可以在第 120 帧附近反复对比判断问题出在关键帧还是过渡片段。如果视频明显卡顿优先检查是否漏了插帧步骤如果画面模糊优先检查是否有插帧参数过度引起的运动伪影。在插帧参数中mc_modeaobmc对大多数自然画面效果较好实在不行可以改用mi_modeblend虽然流畅度下降但画面更稳定。8. 常见问题与排查思路在实际制作中最容易翻车的问题往往集中在画面一致性和工具额度上。下面用表格整理一套排查思路问题现象可能原因排查方式解决方案不同关键帧植物风格差异大提示词不统一或模型随机性太强对比各阶段提示词检查环境描述是否一致固定提示词模板保留相同环境描述尝试固定 Seed两个阶段之间过渡出现形状突变关键帧之间形态差异过大单张查看关键帧手动判断相邻帧差距增加中间阶段关键帧例如“种子吸水膨胀”单独一帧最终视频画面闪烁图生视频片段风格不统一或压缩参数不一致逐段播放原始片段观察闪烁位置统一所有片段的分辨率、帧率、码率后再合并视频播放卡顿帧率偏低或插帧未执行用 ffprobe 检查实际帧率使用 minterpolate 补帧到 30fps 或 60fps图片序列合成时提示找不到文件文件名不规范或文件序号不连续执行 ls 查看目录统一命名为 frame_01.png、frame_02.png 之类格式在线生成工具额度不够项目关键帧多或单次生成失败次数多查看工具账户用量优先保证 8 个关键阶段生成避免频繁重试把失败片段攒到最后一并处理中文或英文字幕乱码字幕文件编码或字体问题用文本编辑器查看字幕文件编码使用 UTF-8 编码保存字幕文件导出视频时选择正确字体排查原则是“先缩小范围再动手修改”。不要一上来就重新生成全部画面而是先定位问题发生在关键帧、过渡片段、还是最终合成阶段。这样既节省时间也节省免费工具额度。9. 中英双语内容的工程化实践与平台运营建议很多人在学会 AI 视频制作后做的第一件事是直接发到中文平台。但从内容传播角度看植物生长延时是一个天然适合国际化的题材因为植物生长的观赏性不分语言。这也是为什么项目的原始标题采用“中英双语”。中英双语并不只是把标题翻译一遍更合理的做法是建立一套可复用的工作流。第一步给你的视频准备中英双语标题和描述。中文标题突出画面美感英文标题突出时间跨度和视觉效果便于海外用户理解。中文标题一粒种子到花开AI 植物生长延时摄影8 种生命状态一次看完 英文标题From a Single Seed to Blooming Flower | AI Plant Growth Timelapse第二步给视频添加双语字幕。最稳定的方式是在剪映或 CapCut 中先创建中文字幕再通过字幕文件或文本翻译生成英文版本。对于程序化处理你可以直接生成一份 UTF-8 编码的 SRT 文件方便在多平台复用1 00:00:00,000 -- 00:00:03,000 一粒种子悄悄吸水膨胀 A seed quietly absorbs water and swells 2 00:00:03,000 -- 00:00:06,000 它破土而出迎接第一束光 It breaks through the soil, meeting the first light 3 00:00:06,000 -- 00:00:09,000 叶片舒展茎秆向上 Leaves spread, stem reaches upward 4 00:00:09,000 -- 00:00:12,000 花苞在晨光中慢慢打开 A bud slowly opens in the morning light第三点设计适合循环播放的节奏。植物生长延时视频在短视频平台适合控制在 8 秒到 20 秒之间。如果超过 30 秒完播率会明显下降。建议用“8 个阶段、8 到 12 个镜头、整体 10 秒左右”的框架中间留出让人看不完就忍不住回看的循环点。第四点保持系列化思路。一条视频火了之后观众大概率会想看你下一条视频。因此建议把提示词模板、关键帧命名规范、目录结构、脚本都保存下来做成一套自己的“植物生长视频模板库”。每次只需要更换植物种类和环境描述就能快速生成新内容。这本质上是一个小型的个人 AI 内容流水线。最后给一个判断不要把“让 AI 一次生成完整视频”作为目标。目前更稳定、更可控的工作流仍然是“关键帧规划 分阶段图生视频 FFmpeg 合成”的组合式方案。AI 工具会一直升级但规划和验证的思路不会变。先做出一条接近合格的视频比研究十种工具更重要。做完之后再回头优化提示词、插帧参数和字幕呈现你会发现这套流程可以复用到很多其他类型的 AI 视频创作中。

相关新闻

最新新闻

从oqc0514.zip看OQC出货检验:数据规范与改善价值

从oqc0514.zip看OQC出货检验:数据规范与改善价值

简介:这份压缩包是一套制造执行系统(MES)基础版的完整前后端项目,面向工厂信息化实施人员、工业软件开发者及MES初学者,适合用于二次开发、功能定制或学习生产管理流程的落地实现。包体共80个文件,总大小约…

2026/9/1 12:11:53
Mac部署Stable Diffusion完整指南:WebUI安装与MPS加速配置

Mac部署Stable Diffusion完整指南:WebUI安装与MPS加速配置

简介:面向希望在Mac本地部署Stable Diffusion的AI绘图爱好者与开发者,这份轻量代码包将环境搭建中的关键步骤与配置整理为可直接查阅的HTML页面,帮助用户避开从依赖安装到模型下载的常见坑点。压缩包共3个文件,以HTML教程页为主体…

2026/9/1 12:11:53
SKILL.state:用显式执行状态替代历史,解决智能体长任务痛点

SKILL.state:用显式执行状态替代历史,解决智能体长任务痛点

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

2026/9/1 12:11:52
基于AT89C51的BLDC无刷电机驱动电路设计与Proteus仿真

基于AT89C51的BLDC无刷电机驱动电路设计与Proteus仿真

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

2026/9/1 12:11:52
SAP S/4HANA ABAP开发实战:从CDS视图到业务增强的完整指南

SAP S/4HANA ABAP开发实战:从CDS视图到业务增强的完整指南

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

2026/9/1 12:11:52
2023蚂蚁春招技术通用岗笔试:核心考点与避坑指南

2023蚂蚁春招技术通用岗笔试:核心考点与避坑指南

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

2026/9/1 12:06:52