Files
everything-claude-code/docs/zh-CN/skills/frontend-slides/STYLE_PRESETS.md
2026-03-22 15:39:24 -07:00

9.2 KiB
Raw Blame History

样式预设参考

frontend-slides 整理的视觉样式。

使用此文件用于:

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

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

视口适配不容妥协

每张幻灯片必须完全适配一个视口。

黄金法则

每个幻灯片 = 恰好一个视口高度。
内容过多 = 分割成更多幻灯片。
切勿在幻灯片内部滚动。

内容密度限制

幻灯片类型 最大内容量
标题幻灯片 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: 100vhheight: 100dvhoverflow: hidden
  • 所有排版都使用 clamp()
  • 所有间距都使用 clamp() 或视口单位
  • 图片有 max-height 约束
  • 网格使用 auto-fit + minmax() 进行适配
  • 短高度断点存在于 700px600px500px
  • 如果感觉任何内容拥挤,请拆分幻灯片

情绪到预设的映射

情绪 推荐的预设
印象深刻 / 自信 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

  • 氛围:面向开发者,黑客风格简洁
  • 最适合APICLI 工具,工程演示
  • 字体:仅 JetBrains Mono
  • 调色板GitHub 深色 + 终端绿色
  • 特色:扫描线,命令行框架,精确的等宽字体节奏

11. Swiss Modern

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

12. Paper & Ink

  • 氛围:文学性,深思熟虑,故事驱动
  • 最适合:散文,主题演讲叙述,宣言式演示
  • 字体Cormorant Garamond + Source Serif 4
  • 调色板:温暖的奶油色,炭灰色,深红色点缀
  • 特色:引文突出,首字下沉,优雅的线条

直接选择提示

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

动画感觉映射

感觉 动效方向
戏剧性 / 电影感 缓慢淡入淡出,视差滚动,大比例缩放进入
科技感 / 未来感 发光,粒子,网格运动,文字乱序出现
有趣 / 友好 弹性缓动,圆角形状,漂浮运动
专业 / 企业 微妙的 200-300 毫秒过渡,干净的幻灯片切换
平静 / 极简 非常克制的运动,留白优先
编辑感 / 杂志感 强烈的层次感,错落的文字和图片互动

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));

验证尺寸

至少测试以下尺寸:

  • 桌面:1920x10801440x9001280x720
  • 平板:1024x768768x1024
  • 手机:375x667414x896
  • 横屏手机:667x375896x414

反模式

请勿使用:

  • 紫底白字的初创公司模板
  • Inter / Roboto / Arial 作为视觉声音,除非用户明确想要实用主义的中性风格
  • 要点堆砌、过小字体或需要滚动的代码块
  • 装饰性插图,当抽象几何形状能更好地完成工作时