# Phase 5+ · 精美 HTML 报告生成方法论(跨阶段 · 贯穿 Phase 5/6) > **跨阶段定位**:本文档不是 Phase 5 的一部分,而是**贯穿 Phase 5(渲染)+ Phase 6(交付)的视觉设计语言系统**。 > **目标**:把一份「能跑」的 HTML 报告升级为「可直接发给客户 / 董事会 / 投资人」的精美级别报告。 > **适用对象**:写章节 JS 模块的工程师 / 把 AI 产出的骨架升级的审美设计师 / 最终质检的交付 PM。 --- ## 🎯 什么叫「精美」 基于三个落地项目(肝纯片 737 KB / 猴菇饮 604 KB / 乳酸菌儿童版 464 KB),总结出的**精美报告三条红线**: 1. **可以直接全屏演示**(不用任何后期处理) 2. **发截图到任何场合都不掉档**(朋友圈 / 董事会 / 投资路演 / 行业报告) 3. **单文件无依赖**(500 KB-1 MB 的 HTML,发邮件 / 传 IM 都能打开) 反面参考: - ❌ Bootstrap 默认的 Admin Dashboard 风 - ❌ 数据像 Excel 截图直接贴 - ❌ 整屏只有文字没有视觉重音 - ❌ 颜色用默认 Material 或 Ant Design 蓝 - ❌ 字体用默认无衬线(无 Mono 强调) --- ## 🎨 1. 视觉设计语言系统 ### 1.1 三层深色背景 ```css --bg-0: #0A0A0A; /* 最底层 · 报告画布 · 几乎纯黑 */ --bg-1: #111111; /* 中层 · section 内容区 + 卡片 */ --bg-2: #1A1A1A; /* 上层 · hover / 强调块 */ --bg-3: #252525; /* 顶层 · 高亮 tab / 选中态 */ ``` **为什么深色**:数据类报告深色能让彩色数字/图表更醒目,且对眼睛友好(演示 1 小时不累)。 ### 1.2 三层文字灰阶 ```css --text-1: #F5F5F5; /* 主文字 · 标题 · VOC 原文 */ --text-2: #A8A8A8; /* 副文字 · 说明 · subtitle */ --text-3: #6B6B6B; /* 灰阶 · 元信息 · 时间戳 / 平台标签 */ ``` **关键纪律**:**一屏内灰阶不超过 3 层**。超过 3 层视觉会散。 ### 1.3 边框系统 ```css --border: rgba(255,255,255,0.08); /* 默认边框 · 卡片 / 表格 */ --border-strong: rgba(255,255,255,0.16); /* 强边框 · 表格 header / 分组 */ ``` **禁忌**:不要用实色边框(如 `#333`),深色背景里实色边框会显得生硬。必须用 `rgba(白,0.0X)`。 ### 1.4 圆角系统 ```css --radius-sm: 4px; /* 小标签 / 代码块 */ --radius-md: 8px; /* 卡片 / 按钮 · 主用 */ --radius-lg: 12px; /* 大卡 / Hero 区 */ ``` **纪律**:**一份报告里圆角风格统一**。要么全尖角(0px),要么都 8px,不要混搭。 ### 1.5 字体系统(双字体) ```css --font-head: 'Inter','Noto Sans SC','PingFang SC','Microsoft YaHei',system-ui,sans-serif; --font-body: 'Inter','Noto Sans SC',system-ui,sans-serif; --font-mono: 'JetBrains Mono','SFMono-Regular',Consolas,monospace; ``` **为什么双字体**: - `font-head / font-body` · 西文 Inter + 中文 Noto Sans SC:现代感 + 中英混排不掉档 - `font-mono` · **所有数字、平台名、时间戳、百分比** 必须走 Mono,让数据"立"起来 **精美判断**:看报告里的数字 —— 如果平台名(XHS / DOUYIN)、点赞数(♥2.3w)、价格(¥298)全部是 Mono,就对了。 ### 1.6 字重系统 | 字重 | 用途 | 示例 | |---:|---|---| | `900` | Cover title / Chapter divider | 5rem 巨标题 | | `800` | Section head / Agenda 标题 | 1.9-2.4rem | | `700` | eyebrow / 表格 header / 强调 | 0.72-0.95rem | | `400` | 正文 / subtitle | 0.85-1rem | | `300` | 元信息 / 时间戳 | 0.72rem 可选 | **纪律**:字重**跨度大**才有层次感。不要 500-600 中间字重滥用。 ### 1.7 字号系统(语义化) ```css /* 标题组 */ .cover-title { font-size: 3.6rem; } /* Cover 封面 */ .divider-title { font-size: 5rem; } /* Chapter 分隔 */ .agenda-title { font-size: 2.4rem; } /* 目录大标题 */ .section-title { font-size: 1.9rem; } /* 子章节 Hero */ /* 正文组 */ .body-large { font-size: 1.1rem; } /* Cover subtitle / Insight */ .body { font-size: 0.95rem; } /* 默认正文 */ .body-sm { font-size: 0.88rem; } /* VOC 原文 */ /* 元信息 */ .label { font-size: 0.82rem; } /* 标签 / 分类 */ .meta { font-size: 0.78rem; } /* 元信息 */ .eyebrow { font-size: 0.72rem; } /* 大写眉标 */ ``` ### 1.8 间距系统(8px 网格) ``` 4 / 8 / 12 / 16 / 20 / 24 / 32 / 40 / 48 / 60 / 80 / 120 ``` - 卡片内 padding:`14-20px` - 卡片之间 gap:`12-16px` - section 内 padding:`60px 48px` - section 之间:各占 `100vh`,用 `border-bottom: 1px solid --border` 分 - Chapter divider:`padding: 120px 40px` **禁忌**:不要用 `13px` / `15px` / `17px` / `23px` 这种奇数值,破坏网格对齐。 ### 1.9 品类专属主色 · BRAND 调色板 **每个品类一个主色 + 4-6 个辅色**。下面是三个案例的调色板: | 品类 | MAIN | 次色 | tone 哲学 | |---|---|---|---| | 肝纯片 DMY | `#4A90E2` 科技蓝 | `#722F37` 酒红 · `#D4AF37` 酒精金 | 理性 · 严肃 · 醒目 | | 猴菇饮 | `#B87333` 温润铜 | `#1A7C5F` 暗绿 · `#F5E6D3` 米白 | 东方 · 草本 · 温润 | | 乳酸菌儿童 | `#8FD3B8` 薄荷 · `#FFB6A3` 桃色 | `#B5A3E0` 淡紫 · `#FFCC33` 亮黄 | 明快 · 柔和 · 分龄 | **选色心法**: 1. 先问:品类给用户的第一感觉是「紧张」「放松」「严肃」「温暖」「专业」? 2. 查:同品类三个头部竞品的主色 —— **避开**它们 3. 选:再挑一个 LAB 色彩距离较远的主色,辅色用 HSL 偏移 ±30° 4. 验:主色在深色背景上对比度 ≥ 4.5(用 https://webaim.org/resources/contrastchecker/) --- ## 🏗️ 2. Slide-deck 式布局模式 ### 2.1 Section = Slide 原则 ```css .report-section { min-height: 100vh; /* 每个 section 占满一屏 */ padding: 60px 48px; border-bottom: 1px solid var(--border); scroll-margin-top: 20px; /* 平滑滚动锚点 */ } .section-inner { max-width: 1280px; /* 内容不超过 1280px */ margin: 0 auto; } ``` **为什么 100vh**:让报告天然变成幻灯片,用 `PageDown` / 空格键就能一屏一屏翻。 ### 2.2 三种特殊 section #### Cover 封面 ```css .cover { background: linear-gradient(180deg, #0A0A0A 0%, #111 100%); } ``` - Cover title: 3.6rem · 分两行 · 品类色 strong - 4 个 KPI 数字条(VOC 总量 / 平台数 / 竞品数 / 章节数) - 底部灰阶元信息(采集时间 / 平台分布) #### Agenda 目录 - 大标题:`8 章 × N 子章` - 2 列 grid · 每条 = `Ch N · 标题 + 一句话 hero line` - 每条左 4px 品类色 border · 可点击跳转 hash #### Chapter Divider 章分隔 ```css .divider { background: linear-gradient(180deg, #0F0F0F 0%, #000 100%); display: flex; align-items: center; padding: 120px 40px; text-align: center; } ``` - eyebrow: `CHAPTER 01`(大写 · letter-spacing 0.35em · 品类色) - title: 5rem · 字重 900 - hero line: 一句话 · 1.15rem · `max-width: 800px` ### 2.3 Grid 布局响应式 ``` 1 列 · Hero / 单行文字 2 列 · VOC 卡并列 / 对比 / 理论 mapping 3 列 · 痛点卡 / 决策列表 / 小 KPI 4 列 · Cover KPI / StatStrip ``` **推荐语法**: ```html
| 维度 |
|---|
| 本品 |