html-slides

html-slides

热门

使用 reveal.js 创建惊艳的 HTML 演示文稿。

290Star
67Fork
更新于 2026/1/31
SKILL.md
readonly只读
name
html-slides
description

>

version
1.0

HTML 幻灯片技能

概述

本技能可使用 reveal.js(最流行的网页演示框架)创建精美的 HTML 演示文稿。支持交互式、响应式幻灯片,包含动画、代码高亮、演讲者备注等功能。

使用方法

  1. 描述您想要创建的演示文稿
  2. 指定主题、过渡效果和所需功能
  3. 我将生成一个 reveal.js 演示文稿

示例提示:

  • "创建一个关于我们产品的交互式演示文稿"
  • "构建一个带有语法高亮的代码讲解演示文稿"
  • "制作一个包含演讲者备注和计时器的演示文稿"
  • "创建带有动画和过渡效果的幻灯片"

领域知识

reveal.js 基础

<!doctype html>
<html>
<head>
    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/reveal.js@4/dist/reveal.css">
    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/reveal.js@4/dist/theme/black.css">
</head>
<body>
    <div class="reveal">
        <div class="slides">
            <section>幻灯片 1</section>
            <section>幻灯片 2</section>
        </div>
    </div>
    <script src="https://cdn.jsdelivr.net/npm/reveal.js@4/dist/reveal.js"></script>
    <script>Reveal.initialize();</script>
</body>
</html>

幻灯片结构

<!-- 水平幻灯片 -->
<section>幻灯片 1</section>
<section>幻灯片 2</section>

<!-- 垂直幻灯片(嵌套) -->
<section>
    <section>垂直 1</section>
    <section>垂直 2</section>
</section>

<!-- Markdown 幻灯片 -->
<section data-markdown>
    <textarea data-template>
        ## 幻灯片标题
        - 要点 1
        - 要点 2
    </textarea>
</section>

主题

内置主题:black, white, league, beige, sky, night, serif, simple, solarized, blood, moon

<link rel="stylesheet" href="reveal.js/dist/theme/moon.css">

过渡效果

Reveal.initialize({
    transition: 'slide',  // none, fade, slide, convex, concave, zoom
    transitionSpeed: 'default',  // default, fast, slow
    backgroundTransition: 'fade'
});

片段(动画)

<section>
    <p class="fragment">首先出现</p>
    <p class="fragment fade-in">然后这个</p>
    <p class="fragment fade-up">再然后这个</p>
    <p class="fragment highlight-red">高亮</p>
</section>

片段样式:fade-in, fade-out, fade-up, fade-down, fade-left, fade-right, highlight-red, highlight-blue, highlight-green, strike

代码高亮

<section>
    <pre><code data-trim data-line-numbers="1|3-4">
def hello():
    print("Hello")
    print("World")
    return True
    </code></pre>
</section>

演讲者备注

<section>
    <h2>幻灯片标题</h2>
    <p>内容</p>
    <aside class="notes">
        演讲者备注写在这里。按 'S' 键查看。
    </aside>
</section>

背景

<!-- 颜色背景 -->
<section data-background-color="#4d7e65">

<!-- 图片背景 -->
<section data-background-image="image.jpg" data-background-size="cover">

<!-- 视频背景 -->
<section data-background-video="video.mp4">

<!-- 渐变背景 -->
<section data-background-gradient="linear-gradient(to bottom, #283b95, #17b2c3)">

配置

Reveal.initialize({
    // 显示控件
    controls: true,
    controlsTutorial: true,
    progress: true,
    slideNumber: true,
    
    // 行为
    hash: true,
    respondToHashChanges: true,
    history: true,
    keyboard: true,
    overview: true,
    center: true,
    touch: true,
    loop: false,
    rtl: false,
    shuffle: false,
    
    // 计时
    autoSlide: 0,  // 0 = 禁用
    autoSlideStoppable: true,
    
    // 外观
    width: 960,
    height: 700,
    margin: 0.04,
    minScale: 0.2,
    maxScale: 2.0,
    
    // 插件
    plugins: [RevealMarkdown, RevealHighlight, RevealNotes]
});

示例

示例 1:技术演讲

<!doctype html>
<html>
<head>
    <meta charset="utf-8">
    <title>API 设计最佳实践</title>
    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/reveal.js@4/dist/reveal.css">
    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/reveal.js@4/dist/theme/night.css">
    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/reveal.js@4/plugin/highlight/monokai.css">
</head>
<body>
    <div class="reveal">
        <div class="slides">
            <section data-background-gradient="linear-gradient(to bottom right, #1a1a2e, #16213e)">
                <h1>API 设计</h1>
                <h3>2024 年最佳实践</h3>
                <p><small>工程团队</small></p>
            </section>
            
            <section>
                <h2>议程</h2>
                <ol>
                    <li class="fragment">RESTful 原则</li>
                    <li class="fragment">身份验证</li>
                    <li class="fragment">错误处理</li>
                    <li class="fragment">文档</li>
                </ol>
            </section>
            
            <section>
                <section>
                    <h2>RESTful 原则</h2>
                </section>
                <section>
                    <h3>资源命名</h3>
                    <pre><code data-trim class="language-http">
GET /users           # 集合
GET /users/123       # 单个资源
POST /users          # 创建
PUT /users/123       # 更新
DELETE /users/123    # 删除
                    </code></pre>
                </section>
            </section>
            
            <section>
                <h2>有问题吗?</h2>
                <p>api-team@company.com</p>
            </section>
        </div>
    </div>
    
    <script src="https://cdn.jsdelivr.net/npm/reveal.js@4/dist/reveal.js"></script>
    <script src="https://cdn.jsdelivr.net/npm/reveal.js@4/plugin/highlight/highlight.js"></script>
    <script>
        Reveal.initialize({
            hash: true,
            plugins: [RevealHighlight]
        });
    </script>
</body>
</html>

示例 2:产品发布

<!doctype html>
<html>
<head>
    <title>产品发布</title>
    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/reveal.js@4/dist/reveal.css">
    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/reveal.js@4/dist/theme/white.css">
    <style>
        .reveal h1 { color: #2d3748; }
        .metric { font-size: 3em; color: #3182ce; }
    </style>
</head>
<body>
    <div class="reveal">
        <div class="slides">
            <section data-background-color="#f7fafc">
                <h1>隆重推出</h1>
                <h2 style="color: #3182ce;">ProductX 2.0</h2>
            </section>
            
            <section>
                <h2>问题</h2>
                <p class="fragment">团队在手动任务上浪费了 <span class="metric">20%</span> 的时间</p>
            </section>
            
            <section data-auto-animate>
                <h2>我们的解决方案</h2>
                <div data-id="box" style="background: #3182ce; padding: 20px;">
                    AI 驱动的自动化
                </div>
            </section>
            
            <section data-auto-animate>
                <h2>我们的解决方案</h2>
                <div data-id="box" style="background: #38a169; padding: 40px; width: 400px;">
                    <p>AI 驱动的自动化</p>
                    <p>速度提升 90%</p>
                </div>
            </section>
        </div>
    </div>
    <script src="https://cdn.jsdelivr.net/npm/reveal.js@4/dist/reveal.js"></script>
    <script>Reveal.initialize();</script>
</body>
</html>

资源