跳转至

样式预设参考

frontend-slides 的视觉样式汇总。

这个文件的用途:

  • 强制视口适配 CSS 的基础
  • 预设选择与情绪映射
  • CSS 陷阱与验证规则

仅使用抽象形状。除非用户明确要求,否则避免使用插图。

视口适配不容妥协

每张幻灯片必须完全容纳在一个视口内。

黄金规则

各スライド = ちょうど1つのビューポートの高さ。
コンテンツが多すぎる = 複数のスライドに分割する。
スライド内でスクロールさせない。

内容密度限制

幻灯片类型 最大内容量
标题幻灯片 1 个标题 + 1 个副标题 + 可选标语
内容幻灯片 1 个标题 + 4 到 6 个要点或 2 段
功能网格 最多 6 张卡片
代码幻灯片 最多 8 到 10 行
引用幻灯片 1 条引用 + 出处
图片幻灯片 1 张图片,理想情况下小于 60vh

强制基础 CSS

将此代码块复制到所有生成的演示文稿中,并在其上应用主题。

/* ===========================================
   VIEWPORT FITTING: MANDATORY BASE STYLES
   =========================================== */

html, body {
    height: 100%;
    overflow-x: hidden;
}

html {
    scroll-snap-type: y mandatory;
    scroll-behavior: smooth;
}

.slide {
    width: 100vw;
    height: 100vh;
    height: 100dvh;
    overflow: hidden;
    scroll-snap-align: start;
    display: flex;
    flex-direction: column;
    position: relative;
}

.slide-content {
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
    max-height: 100%;
    overflow: hidden;
    padding: var(--slide-padding);
}

:root {
    --title-size: clamp(1.5rem, 5vw, 4rem);
    --h2-size: clamp(1.25rem, 3.5vw, 2.5rem);
    --h3-size: clamp(1rem, 2.5vw, 1.75rem);
    --body-size: clamp(0.75rem, 1.5vw, 1.125rem);
    --small-size: clamp(0.65rem, 1vw, 0.875rem);

    --slide-padding: clamp(1rem, 4vw, 4rem);
    --content-gap: clamp(0.5rem, 2vw, 2rem);
    --element-gap: clamp(0.25rem, 1vw, 1rem);
}

.card, .container, .content-box {
    max-width: min(90vw, 1000px);
    max-height: min(80vh, 700px);
}

.feature-list, .bullet-list {
    gap: clamp(0.4rem, 1vh, 1rem);
}

.feature-list li, .bullet-list li {
    font-size: var(--body-size);
    line-height: 1.4;
}

.grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 250px), 1fr));
    gap: clamp(0.5rem, 1.5vw, 1rem);
}

img, .image-container {
    max-width: 100%;
    max-height: min(50vh, 400px);
    object-fit: contain;
}

@media (max-height: 700px) {
    :root {
        --slide-padding: clamp(0.75rem, 3vw, 2rem);
        --content-gap: clamp(0.4rem, 1.5vw, 1rem);
        --title-size: clamp(1.25rem, 4.5vw, 2.5rem);
        --h2-size: clamp(1rem, 3vw, 1.75rem);
    }
}

@media (max-height: 600px) {
    :root {
        --slide-padding: clamp(0.5rem, 2.5vw, 1.5rem);
        --content-gap: clamp(0.3rem, 1vw, 0.75rem);
        --title-size: clamp(1.1rem, 4vw, 2rem);
        --body-size: clamp(0.7rem, 1.2vw, 0.95rem);
    }

    .nav-dots, .keyboard-hint, .decorative {
        display: none;
    }
}

@media (max-height: 500px) {
    :root {
        --slide-padding: clamp(0.4rem, 2vw, 1rem);
        --title-size: clamp(1rem, 3.5vw, 1.5rem);
        --h2-size: clamp(0.9rem, 2.5vw, 1.25rem);
        --body-size: clamp(0.65rem, 1vw, 0.85rem);
    }
}

@media (max-width: 600px) {
    :root {
        --title-size: clamp(1.25rem, 7vw, 2.5rem);
    }

    .grid {
        grid-template-columns: 1fr;
    }
}

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
        animation-duration: 0.01ms !important;
        transition-duration: 0.2s !important;
    }

    html {
        scroll-behavior: auto;
    }
}

视口检查清单

  • 所有 .slide 都有 height: 100vh、height: 100dvh、overflow: hidden
  • 所有排版都使用 clamp()
  • 所有间距都使用 clamp() 或视口单位
  • 图片有 max-height 约束
  • 网格为适配使用 auto-fit + minmax()
  • 短高度断点存在于 700px、600px、500px
  • 如果内容显得拥挤,拆分幻灯片

从情绪到预设的映射

情绪 推荐预设
有冲击力 / 自信 Bold Signal, Electric Studio, Dark Botanical
兴奋 / 活力 Creative Voltage, Neon Cyber, Split Pastel
沉稳 / 专注 Notebook Tabs, Paper & Ink, Swiss Modern
启发 / 感动 Dark Botanical, Vintage Editorial, Pastel Geometry

预设目录

1. Bold Signal

  • 氛围:自信、高冲击力、适合主题演讲
  • 最佳用途:路演演示、产品发布、公告
  • 字体:Archivo Black + Space Grotesk
  • 调色板:炭黑色基调、亮橙色焦点卡片、纯白文本
  • 特征:超大章节编号、深色背景上的高对比度卡片

2. Electric Studio

  • 氛围:干净、大胆、杂志级精致
  • 最佳用途:客户演示、战略评审
  • 字体:仅 Manrope
  • 调色板:黑色、白色、高饱和度钴蓝色点缀
  • 特征:双面板分割和锐利编辑风格对齐

3. Creative Voltage

  • 氛围:活力、复古现代、趣味与自信
  • 最佳用途:创意工作室、品牌工作、产品叙事
  • 字体:Syne + Space Mono
  • 调色板:电光蓝、霓虹黄、深海军蓝
  • 特征:半色调纹理、徽章、强对比

4. Dark Botanical

  • 氛围:优雅、高端、有氛围感
  • 最佳用途:奢侈品牌、深思熟虑的叙事、高端产品演示
  • 字体:Cormorant + IBM Plex Sans
  • 调色板:近黑色、暖象牙色、腮红粉、金色、赤陶色
  • 特征:模糊抽象圆形、细线、克制的动效

5. Notebook Tabs

  • 氛围:编辑感、有条理、触感
  • 最佳用途:报告、评审、结构化叙事
  • 字体:Bodoni Moda + DM Sans
  • 调色板:炭色上的奶油色纸张和柔和彩色标签
  • 特征:纸张效果、彩色侧边标签、装订细节

6. Pastel Geometry

  • 氛围:亲切、现代、友好
  • 最佳用途:产品概览、入门介绍、轻量品牌演示
  • 字体:仅 Plus Jakarta Sans
  • 调色板:浅蓝色背景、奶油色卡片、柔和粉色/薄荷/薰衣草点缀
  • 特征:纵向胶囊形状、圆角卡片、柔和阴影

7. Split Pastel

  • 氛围:有趣、现代、创意
  • 最佳用途:代理机构介绍、工作坊、作品集
  • 字体:仅 Outfit
  • 调色板:薄荷徽章与桃色 + 薰衣草分割背景
  • 特征:分割背景、圆角标签、轻量网格覆盖

8. Vintage Editorial

  • 氛围:机智、个性、受杂志启发
  • 最佳用途:个人品牌、观点演讲、叙事
  • 字体:Fraunces + Work Sans
  • 调色板:奶油色、炭色、柔和暖色点缀
  • 特征:几何点缀、带边框的提示框、醒目的衬线标题

9. Neon Cyber

  • 氛围:未来感、科技感、动态
  • 最佳用途:AI、基础设施、开发者工具、未来趋势演讲
  • 字体:Clash Display + Satoshi
  • 调色板:午夜海军蓝、青色、品红色
  • 特征:发光效果、粒子、网格、数据雷达能量感

10. Terminal Green

  • 氛围:面向开发者、黑客式简洁
  • 最佳用途:API、CLI 工具、工程演示
  • 字体:仅 JetBrains Mono
  • 调色板:GitHub 深色 + 终端绿
  • 特征:扫描线、命令行框架、精确等宽节奏

11. Swiss Modern

  • 氛围:极简、精密、数据导向
  • 最佳用途:企业、产品战略、分析
  • 字体:Archivo + Nunito
  • 调色板:白色、黑色、信号红
  • 特征:可见网格、不对称、几何秩序感

12. Paper & Ink

  • 氛围:文学性、深思熟虑、故事驱动
  • 最佳用途:散文、主题演讲叙事、宣言式演示
  • 字体:Cormorant Garamond + Source Serif 4
  • 调色板:暖奶油色、炭色、深红色点缀
  • 特征:引用高亮、首字下沉、优雅线条

直接选择 Prompt

如果用户已经知道自己想要的风格,不要强制生成预览,而是让他们直接从上述预设名称中选择。

动画感觉映射

感觉 动效方向
戏剧化 / 电影感 缓慢淡入淡出、视差滚动、大幅缩放进入
科技感 / 未来感 发光、粒子、网格动效、文本扰码显示
有趣 / 友好 弹跳缓动、圆角形状、漂浮动效
专业 / 企业级 微妙的 200–300ms 过渡、干净的滑动切换
沉稳 / 极简主义 非常克制的动效、优先留白
编辑风 / 杂志风 强层级感、文本与图像的错位交互

CSS 陷阱:否定函数

以下写法绝对不要使用:

right: -clamp(28px, 3.5vw, 44px);
margin-left: -min(10vw, 100px);

浏览器会静默忽略它们。

请始终改为这样写:

right: calc(-1 * clamp(28px, 3.5vw, 44px));
margin-left: calc(-1 * min(10vw, 100px));

验证尺寸

至少测试以下尺寸:

  • 桌面端:1920x1080、1440x900、1280x720
  • 平板端:1024x768、768x1024
  • 移动端:375x667、414x896
  • 横屏移动端:667x375、896x414

反模式

不要使用:

  • 紫底白字的初创公司模板
  • 将 Inter / Roboto / Arial 用作视觉表达(除非用户明确希望实用主义的中性风格)
  • 堆砌列表、过小的字体、需要滚动的代码块
  • 在抽象几何形状能更好发挥作用时使用装饰性插图

本页原文 Markdown:在 AtomGit 查看·内容源自开源项目 ev/ECC