PPT as Code

用网页高效做出比 PPT 还惊艳的演示文稿

基于 Russell 的实战教程 · 2026-04-06

为什么传统 PPT 让人痛苦?

  • AI 做的 PPT 太丑,排版问题太多
  • 本来想偷懒,结果修着修着还不如重做一遍
  • 时间不是花在表达上,而是花在和工具拉扯上

核心痛点:想要的内容越来越灵活,传统 PPT 越来越别扭

  • 一页不是"切过去",而是像网页一样滑进来
  • 标题和图片不是死板排列,而是有节奏地接力出现
  • 演示不是一个文件,而是一个能发链接、能版本管理的网页资产

PPT as Code 是什么?

不是"程序员的仪式感",而是把一次性的演示文件变成可复用、可迭代、可扩展的内容资产

Markdown 写内容
CSS 定样式
JS 做交互
Git 管理版本

📎 可分享

一个链接就能看,不需要发文件

🔄 可迭代

改内容不需要重新排版

🎬 可编排

精准控制每一个元素的出场节奏

🤖 AI 友好

代码结构清晰,AI 能精准操作

底层模型:五件事

"像 PPT 一样的分页展示",本质上不是某个特效,而是这五样东西:

🖼️ Container

演示容器,你的舞台

📄 Slides

每一页具体内容

🔢 Index

当前页索引,状态核心

🎮 Controls

按钮、键盘、分页器、URL

Motion — 切换时怎么动(这是最后一层,不是底层)

"动画只是最后一层。真正的底层,是状态切换。"

最小可运行版本

先把最小闭环跑通,只需要三件事:

  1. 一页一页组织内容 — 每个 <section> 就是一页
  2. 用按钮和键盘切页 — 左右方向键 + 前后按钮
  3. transform + transition 做分页动画 — CSS 根据 currentIndex 决定每页位移和透明度

核心逻辑:每次切页只改 currentIndex,再用 CSS 根据当前索引决定每页的位移和透明度。

PPT 基础五项

最小版本能跑之后,还需要补这五个能力:

能力作用
进度条 + 分页圆点告诉观众"讲到哪了"
URL 同步刷新回到当前页,可分享单独页链接
Fragment页内逐步显现,关键在节奏控制
媒体预加载大图/视频不卡顿
移动端适配发链接场景下的必选项

四种技术路径

技术适用场景不适合
CSS Scroll Snap一屏一屏滚动的叙事型演示精准控场、需先 reveal 再翻页
WAAPIJS 精准控制动画,多元素时间线编排简单翻页(CSS 已够用)
View Transition API"旧视图到新视图"的镜头感切换替代整套 slide 系统
reveal.js不想重造轮子,需要完整框架需要极度自定义的底层控制

对大多数人来说reveal.js 是最稳妥的起点——fragments、auto-animate、Markdown 写作全都有。

视觉母板先行

"动效只是在给混乱加速度。"

不要一页一页临场发挥,先定这四个系统:

✏️ 字体系统

标题用 display font,正文用 text font,数值统一字宽

🎨 颜色系统

主色 + 辅色 + 背景色,控制整体调色板

📐 间距系统

用固定间距比例(4px/8px/16px/32px…)维持节奏

🧩 组件系统

标题卡、引用卡、对比卡,统一风格复用

字体是气质的关键

网页 PPT 最容易显得廉价的地方,不是配色,是字体

推荐组合

  • 标题:Noto Serif SC — 有力量的展示字体
  • 正文:Noto Sans SC — 耐读的文本字体
  • 数值/代码:JetBrains Mono — 等宽统一

Google Fonts CSS2 API 已支持 variable fonts — 一套变量字体就能拉开层级,不需要引很多字重。

动效要有节奏

风格化 ≠ 满屏动画。真正好看的网页 PPT,通常只在两个地方下重手:

🎬 换页大动作

页面切换时的过渡动画,给冲击力

⚡ 关键元素节奏动作

页内一两个核心元素的编排出现

其他地方要克制。如果你只是想让演示更顺滑,CSS transition 已经够用。

如果要做更有编排感的节奏(标题先压进来 → 数字后接 → 图片最后补上),GSAP 会很舒服。

AI 出视觉方案的正确姿势

别一上来说"帮我把这个网页 PPT 做漂亮"

  1. 先让 AI 出 3 套差异明显的风格方向
    不要一上来让 AI 写最终版
  2. 选一套深化
    人来做审美判断
  3. 只让 AI 重写样式层,不碰结构和内容
    最小化改动范围,防止改乱

AI 配图工作流

AI 不只是出图机器,首先是一个视觉研究助理

文字 → 视觉概念方向
产出"搜图包"
找不到图 → AI 出图 prompt

搜图包应包含

  • 英文主关键词 + 替代关键词 + 应避开词
  • 图片方向 + 横竖比例 + 色彩倾向

"它真正厉害的地方在于:
把一次性的演示文件,
变成一套可复用、可迭代、可扩展的内容资产。"

— Russell

总结

01 · 状态切换是底层

不是动画,是 container + slides + index + controls + motion

02 · 视觉母板先行

先定字体/颜色/间距/组件,不要一页一页补救

03 · AI 先出方向再深化

3 套风格 → 选一套 → 只改样式层

04 · reveal.js 最稳起点

不想重造轮子时的完整方案

最终目标:把演示从一次性消耗品变成可复用的数字资产