适合场景
视觉小说 / ADV对话框 / 铭牌
借鉴ADV视觉小说游戏UI的设计风格,半透明对话框面板、角色铭牌徽章、装饰性边角框线、分支选项按钮和存档界面,打造沉浸式交互故事体验。
适合场景
视觉小说 / ADV对话框 / 铭牌
设计重点
使用半透明暗色面板 bg-[#1a202c]/85 作为对话框
注意事项
禁止使用粗重的野蛮主义边框(border-4+)
AI 实现文档
默认用硬性提示词让 AI 直接生成前端;Design Spec 用来理解、改写和审核风格;Creative Brief 用来早期探索方向。
默认使用它:复制后追加具体需求,让 AI 直接生成一致、可落地的前端。
什么时候用
怎么用
STYLEKIT_STYLE_REFERENCE
style_name: 视觉小说风
style_slug: visual-novel
style_source: /styles/visual-novel
# Hard Prompt
## 什么时候用
当你希望 AI 严格按风格规则生成代码时使用。它是生产界面最稳的默认选择。
## 怎么用
- 把完整提示词复制到 ChatGPT、Claude、Cursor 或其他编码助手。
- 在提示词后追加具体产品、页面或组件需求。
- 生成后按禁止项和交互状态检查,确认没有风格漂移。
请严格遵守以下风格规则并保持一致性,禁止风格漂移。
## 执行要求
- 优先保证风格一致性,其次再做创意延展。
- 遇到冲突时以禁止项为最高优先级。
- 输出前自检:颜色、排版、间距、交互是否仍属于该风格。
## Style Rules
You are a Visual Novel design style frontend development expert. All generated code must strictly follow these constraints:
## 绝对禁止
- 禁止使用粗重的野蛮主义边框(border-4+)
- 禁止使用霓虹灯 RGB 分离阴影效果
- 禁止使用像素艺术风格或等宽字体用于主内容
- 禁止使用纯黑背景 bg-black
- 禁止使用全大写加宽字距的终端风格文字
## 必须遵守
- 使用半透明暗色面板 bg-[#1a202c]/85 作为对话框
- 使用半透明亮色面板 bg-white/70 作为信息卡片
- 所有面板添加毛玻璃效果 backdrop-blur-md
- 使用衬线字体 font-serif 用于叙事/对话文本
- 使用无衬线字体 font-sans 用于UI标签和按钮
- 添加角色铭牌徽章(彩色小标签 inline-block px-3 py-0.5 bg-[color] rounded-sm)
- 对话面板添加L形装饰边角(border-l/t/r/b 组合)
- 使用圆角 rounded-lg 保持柔和界面感
## Color Palette
Primary:
- Slate: #4a5568 (text, borders)
- Light BG: #f7fafc (page background)
- Dark Panel: #1a202c (dialog backgrounds at /85 or /90 opacity)
- Indigo: #6366f1 (primary accent, nameplates, borders)
- Pink: #ec4899 (secondary accent, alternate nameplates)
- Emerald: #10b981 (tertiary accent, alternate nameplates)
## Unique Elements
- ADV-format dialogue panel: dark semi-transparent panel fixed to bottom with ornate corner decorations and character nameplate
- Character nameplate badges: small colored rectangle positioned overlapping the card border (absolute -top-3 left-6)
- Ornate corner decorations: L-shaped border patterns (border-l + border-t) at panel corners
- Choice button grid: full-width frosted glass buttons with ChevronRight icon and left-aligned text
- Scene background: sky gradient with character silhouettes (rounded-t-full ellipse shapes)
- Save screen panel: dark panel with ornate corners, form inputs, and dual action buttons
## Animation & Interaction Rules
- Dialogue Focus: 模拟游戏中的"选择支"。悬停选项按钮时,通过加深背景模糊(`backdrop-blur`)并叠加一层非常微弱的白色或主题色渐变(如 `hover:bg-white/10`),营造出选项被聚光灯照亮的沉浸感。
- Cursor Prompt: 悬停时,在文本的左侧利用隐藏元素浮现一个小小的指示符(如 ▶ 或 ✦),并带有轻微的位移动画(`opacity-0 -translate-x-2 group-hover:opacity-100 group-hover:translate-x-0`),高度还原视觉小说的 UI 特征。
- Sprite Breathing: 过渡动画必须极其平滑(`duration-300 ease-in-out`)。卡片悬停时,可以有极其微小且缓慢的上浮(`hover:-translate-y-0.5`),模拟游戏角色立绘(Sprite)呼吸的动作。
- Story Text: 点击(`:active`)时,选项框可以稍微横向移动(`active:translate-x-2`)以示确认,而不是传统的下沉。
---
# Visual Novel (视觉小说风) Design System
> 借鉴ADV视觉小说游戏UI的设计风格,半透明对话框面板、角色铭牌徽章、装饰性边角框线、分支选项按钮和存档界面,打造沉浸式交互故事体验。
## 核心理念
Visual Novel 风格源于日本ADV(Adventure)视觉小说游戏的UI设计,强调叙事沉浸感和角色互动。
核心理念:
- ADV对话框系统:底部固定半透明暗色面板,承载角色对话文字
- 角色铭牌徽章:对话框上方的彩色小标签,标识说话角色
- 装饰性边角框线:对话面板四角的L形装饰线条,营造精致画框感
- 分支选项按钮:居中排列的毛玻璃按钮,代表故事分支
- 场景氛围渲染:通过天空渐变、剪影、柔光营造时间和情感氛围
- 存档界面设计:带装饰边角的暗色面板,包含输入框和操作按钮
设计原则:
- 视觉一致性:所有组件必须遵循统一的视觉语言,从色彩到字体到间距保持谐调
- 层次分明:通过颜色深浅、字号大小、留白空间建立清晰的信息层级
- 交互反馈:每个可交互元素都必须有明确的 hover、active、focus 状态反馈
- 响应式适配:设计必须在移动端、平板、桌面端上保持一致的体验
- 无障碍性:确保色彩对比度符合 WCAG 2.1 AA 标准,所有交互元素可键盘访问
---
## Token 字典(精确 Class 映射)
### 边框
```
宽度: border
颜色: border-[#4a5568]/10
圆角: rounded-lg
```
### 阴影
```
小: shadow-sm
中: shadow-md
大: shadow-lg
悬停: hover:shadow-lg
聚焦: focus:shadow-[0_0_12px_#6366f120]
```
### 交互效果
```
悬停位移: hover:-translate-y-1
悬停缩放: (无)
悬停透明度: hover:opacity-90
过渡动画: transition-all duration-300 ease-in-out
按下状态: active:scale-[0.98]
```
### 字体
```
标题: font-serif font-medium
正文: font-sans leading-relaxed
等宽: font-mono
```
### 字号
```
Hero: text-4xl md:text-6xl lg:text-7xl
H1: text-3xl md:text-5xl
H2: text-2xl md:text-3xl
H3: text-xl md:text-2xl
正文: text-sm md:text-base
小字: text-xs md:text-sm
```
### 间距
```
Section: py-12 md:py-20 lg:py-28
容器: px-4 md:px-8 lg:px-12
卡片: p-5 md:p-8
小间距: gap-3 md:gap-4
中间距: gap-4 md:gap-6
大间距: gap-6 md:gap-10
```
### 颜色角色
```
背景主色: bg-[#f7fafc]
背景辅色: bg-white/70
背景强调色: bg-[#6366f1], bg-[#ec4899], bg-[#10b981]
正文主色: text-[#4a5568]
正文辅色: text-[#6366f1]
正文弱化色: text-[#4a5568]/50
按钮主色: bg-[#6366f1] text-white shadow-sm hover:bg-[#6366f1]/90 hover:shadow-[0_0_15px_#6366f130]
按钮辅色: bg-white/50 text-[#4a5568] backdrop-blur-sm border border-[#6366f1]/25
```
---
## [FORBIDDEN] 绝对禁止
以下 class 在本风格中**绝对禁止使用**,生成时必须检查并避免:
### 禁止的 Class
- `border-4`
- `border-8`
- `rounded-none`
- `font-mono`
- `shadow-[3px_0_`
- `shadow-[0_0_30px`
- `bg-[#0a0a0a]`
- `bg-black`
- `text-[#00ffff]`
- `text-[#ff00ff]`
- `uppercase tracking-widest`
### 禁止的模式
- 匹配 `^border-(?:4|8)$`
- 匹配 `^rounded-none$`
- 匹配 `^font-mono$`
- 匹配 `^shadow-\[\d+px_0_#`
- 匹配 `^bg-(?:black|\[#0a0a0a\])$`
- 匹配 `^text-\[#(?:00ffff|ff00ff)\]$`
### 禁止原因
- `border-4`: Visual Novel uses subtle, thin borders for its elegant aesthetic
- `rounded-none`: Visual Novel uses rounded-lg for soft UI panels, never sharp edges
- `font-mono`: Visual Novel uses serif for narrative text and sans-serif for UI, not monospace
- `bg-black`: Visual Novel uses light or semi-transparent dark backgrounds, never pure black
- `uppercase tracking-widest`: Visual Novel uses natural case text, not terminal-style uppercase
> WARNING: 如果你的代码中包含以上任何 class,必须立即替换。
---
## [REQUIRED] 必须包含
### 按钮必须包含
```
rounded-lg
font-sans font-medium
transition-all duration-300 ease-in-out
```
### 卡片必须包含
```
rounded-lg
backdrop-blur-md
border
```
### 输入框必须包含
```
rounded-lg
border
font-sans
backdrop-blur-sm
focus:outline-none
```
---
## [COMPARE] Visual Novel 错误 vs 正确对比
以下错误示例只代表“未经过当前风格适配的通用默认值”,不要把错误示例当成视觉建议。
### 按钮
[WRONG] **错误示例**(通用组件库默认样式,不要直接复制):
```html
<button class="{GENERIC_LIBRARY_BUTTON_DEFAULT}">
点击我
</button>
```
[CORRECT] **正确示例**(使用当前风格的 token):
```html
<button class="rounded-lg font-sans font-medium transition-all duration-300 ease-in-out bg-[#6366f1] text-white shadow-sm hover:bg-[#6366f1]/90 hover:shadow-[0_0_15px_#6366f130]">
点击我
</button>
```
### 卡片
[WRONG] **错误示例**(未经当前风格适配的通用卡片):
```html
<div class="{GENERIC_LIBRARY_CARD_DEFAULT}">
<h3>{TITLE}</h3>
</div>
```
[CORRECT] **正确示例**(使用当前风格的 card token):
```html
<div class="rounded-lg backdrop-blur-md border p-5 md:p-8">
<h3 class="font-serif font-medium text-xl md:text-2xl">{TITLE}</h3>
</div>
```
### 输入框
[WRONG] **错误示例**(未经当前风格适配的通用输入框):
```html
<input class="{GENERIC_LIBRARY_INPUT_DEFAULT}" />
```
[CORRECT] **正确示例**(使用当前风格的 input token):
```html
<input class="rounded-lg border font-sans backdrop-blur-sm focus:outline-none" placeholder="{PLACEHOLDER}" />
```
---
## [TEMPLATES] Visual Novel 页面骨架模板
以下骨架只使用当前风格的 token。替换 `{PLACEHOLDER}` 时,不要移除或替换这些 token:
### 导航栏骨架
```html
<nav class="bg-[#f7fafc] text-[#4a5568] border border-[#4a5568]/10 px-4 md:px-8 lg:px-12">
<div class="flex items-center justify-between max-w-6xl mx-auto gap-4 md:gap-6">
<a href="/" class="font-serif font-medium text-xl md:text-2xl">
{LOGO_TEXT}
</a>
<div class="flex gap-4 md:gap-6 font-sans leading-relaxed text-xs md:text-sm">
{NAV_LINKS}
</div>
</div>
</nav>
```
### Hero 区块骨架
```html
<section class="bg-[#6366f1] text-[#4a5568] py-12 md:py-20 lg:py-28 px-4 md:px-8 lg:px-12">
<div class="max-w-4xl mx-auto">
<h1 class="font-serif font-medium text-4xl md:text-6xl lg:text-7xl">
{HEADLINE}
</h1>
<p class="font-sans leading-relaxed text-sm md:text-base max-w-xl">
{SUBHEADLINE}
</p>
<button class="rounded-lg font-sans font-medium transition-all duration-300 ease-in-out bg-[#6366f1] text-white shadow-sm hover:bg-[#6366f1]/90 hover:shadow-[0_0_15px_#6366f130]">
{CTA_TEXT}
</button>
</div>
</section>
```
### 卡片网格骨架
```html
<section class="bg-[#f7fafc] text-[#4a5568] py-12 md:py-20 lg:py-28 px-4 md:px-8 lg:px-12">
<div class="max-w-6xl mx-auto">
<h2 class="font-serif font-medium text-2xl md:text-3xl">{SECTION_TITLE}</h2>
<div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-4 md:gap-6">
<!-- Card template - repeat for each card -->
<div class="rounded-lg backdrop-blur-md border p-5 md:p-8">
<h3 class="font-serif font-medium text-xl md:text-2xl">{CARD_TITLE}</h3>
<p class="font-sans leading-relaxed text-sm md:text-base text-[#4a5568]/50">{CARD_DESCRIPTION}</p>
</div>
</div>
</div>
</section>
```
### 表单输入骨架
```html
<input class="rounded-lg border font-sans backdrop-blur-sm focus:outline-none" placeholder="{PLACEHOLDER}" />
```
### 页脚骨架
```html
<footer class="bg-white/70 text-[#6366f1] py-12 md:py-20 lg:py-28 px-4 md:px-8 lg:px-12">
<div class="max-w-6xl mx-auto">
<div class="grid grid-cols-1 md:grid-cols-3 gap-6 md:gap-10">
<div>
<span class="font-serif font-medium text-xl md:text-2xl">{LOGO_TEXT}</span>
<p class="font-sans leading-relaxed text-xs md:text-sm">{TAGLINE}</p>
</div>
<div>
<h4 class="font-serif font-medium text-xl md:text-2xl">{COLUMN_TITLE}</h4>
<ul class="font-sans leading-relaxed text-xs md:text-sm">
{FOOTER_LINKS}
</ul>
</div>
</div>
</div>
</footer>
```
---
## [CHECKLIST] Visual Novel 生成后自检清单
**输出代码前,逐项验证当前风格的 token 和规则。如有违反,先修正再交付:**
### Token 检查
- [ ] 按钮包含: `rounded-lg font-sans font-medium transition-all duration-300 ease-in-out`
- [ ] 卡片包含: `rounded-lg backdrop-blur-md border`
- [ ] 输入框包含: `rounded-lg border font-sans backdrop-blur-sm focus:outline-none`
### 禁止项检查
- [ ] 没有使用 `border-4`
- [ ] 没有使用 `border-8`
- [ ] 没有使用 `rounded-none`
- [ ] 没有使用 `font-mono`
- [ ] 没有使用 `shadow-[3px_0_`
- [ ] 没有使用 `shadow-[0_0_30px`
- [ ] 没有使用 `bg-[#0a0a0a]`
- [ ] 没有使用 `bg-black`
### 风格规则检查
- [ ] 使用半透明暗色面板 bg-[#1a202c]/85 作为对话框
- [ ] 使用半透明亮色面板 bg-white/70 作为信息卡片
- [ ] 所有面板添加毛玻璃效果 backdrop-blur-md
- [ ] 使用衬线字体 font-serif 用于叙事/对话文本
- [ ] 使用无衬线字体 font-sans 用于UI标签和按钮
### 风格漂移检查
- [ ] 没有违反:禁止使用粗重的野蛮主义边框(border-4+)
- [ ] 没有违反:禁止使用霓虹灯 RGB 分离阴影效果
- [ ] 没有违反:禁止使用像素艺术风格或等宽字体用于主内容
- [ ] 没有违反:禁止使用纯黑背景 bg-black
- [ ] 没有违反:禁止使用全大写加宽字距的终端风格文字
### 通用交付检查
- [ ] 响应式布局在手机、平板和桌面下稳定,没有横向溢出
- [ ] 所有交互元素有清晰焦点、可访问名称和 reduced-motion 方案
- [ ] 文本对比度达到 WCAG AA,且没有用颜色单独传递状态
- [ ] 结果仍然能够一眼识别为 Visual Novel
---
## [EXAMPLES] 示例 Prompt
### 1. 视觉小说对话页面
ADV格式的交互对话页面,带铭牌和装饰边角
```
Use Visual Novel style to create an interactive story page:
1. Scene: full-screen sky gradient with character silhouettes at bottom
2. ADV dialog panel: semi-transparent dark panel at bottom with ornate L-shaped corner decorations
3. Character nameplate: colored badge above the dialog box text
4. Choice buttons: full-width frosted glass panels with hover glow and right arrow
5. Cards: scene chapter cards with header image area and nameplate badge overlapping the border
6. Form: save screen with ornate corner frame, dark backdrop, and dual-color labeled inputs
```
### 2. SaaS 着陆页
生成 视觉小说风风格的 SaaS 产品着陆页
```
Create a SaaS landing page using Visual Novel style with hero section, feature grid, testimonials, pricing table, and footer.
```
### 3. 作品集展示
生成 视觉小说风风格的作品集页面
```
Create a portfolio showcase page using Visual Novel style with project grid, about section, contact form, and consistent visual language.
```
## 绝对禁止(匹配即拒绝)
以下模式一旦出现,视为风格违规——不找借口,直接重写。
- 使用粗重的野蛮主义边框(border-4+)
- 使用霓虹灯 RGB 分离阴影效果
- 使用像素艺术风格或等宽字体用于主内容
- 使用纯黑背景 bg-black
- 使用全大写加宽字距的终端风格文字
## 自检清单(交付前逐条确认)
如果任何一条不通过,说明风格漂移了——修改后再交付。
- [ ] 没有紫色到蓝色的渐变
- [ ] 没有使用 Inter / Roboto / Geist 等过度使用的字体
- [ ] 没有嵌套卡片(卡片里面套卡片)
- [ ] 没有在彩色背景上放灰色文字
- [ ] 正文对比度满足 WCAG AA(≥4.5:1)
- [ ] 没有 bounce / elastic 缓动曲线
- [ ] 动效有 prefers-reduced-motion 备选方案
- [ ] 正文行宽不超过 65-75 个字符
- [ ] 没有单侧粗边框装饰(border-left/right accent stripe)
- [ ] 没有渐变文字(background-clip: text)
- [ ] 没有把玻璃态(glassmorphism)当作默认风格
- [ ] 没有 tiny uppercase tracked eyebrow 放在每个 section 标题上面
- [ ] 禁止使用粗重的野蛮主义边框(border-4+)
- [ ] 禁止使用霓虹灯 RGB 分离阴影效果
- [ ] 禁止使用像素艺术风格或等宽字体用于主内容
- [ ] 禁止使用纯黑背景 bg-black
- [ ] 禁止使用全大写加宽字距的终端风格文字更多提示词库:全部 UI 提示词 · Tailwind UI 提示词 · 暗色模式提示词
组件模板
视觉小说选项按钮,毛玻璃分支选择
真实前端完成度
这层检查这个风格是否已经具备真实网站常见的主题、状态反馈、键盘可访问性和性能约束。
总体覆盖
58%
Fallback 规则
暗色模式
35%
通用组件状态
79%
部分动效规则
70%
部分可访问性
70%
部分性能代价
35%
通用按钮
默认 / 悬停 / 键盘焦点 / 按下 / 禁用
输入框
默认 / 悬停 / 键盘焦点 / 禁用 / 错误
卡片
默认 / 悬停 / 键盘焦点 / 加载中 / 骨架屏
表单
默认 / 键盘焦点 / 禁用 / 加载中 / 错误
常见问题
/* Visual Novel Global Styles */
:root {
--vn-slate: #4a5568;
--vn-light: #f7fafc;
--vn-indigo: #6366f1;
--vn-pink: #ec4899;
--vn-emerald: #10b981;
--vn-dark: #1a202c;
}
/* Dialog box fade-in */
.vn-dialog {
animation: vnFadeUp 0.5s ease-out;
}
@keyframes vnFadeUp {
from {
opacity: 0;
transform: translateY(10px);
}
to {
opacity: 1;
transform: translateY(0);
}
}
/* Text typewriter effect */
.vn-typewriter {
overflow: hidden;
border-right: 2px solid var(--vn-indigo);
white-space: nowrap;
animation: vnType 3s steps(40, end), vnBlink 0.75s step-end infinite;
}
@keyframes vnType {
from { width: 0; }
to { width: 100%; }
}
@keyframes vnBlink {
from, to { border-color: transparent; }
50% { border-color: var(--vn-indigo); }
}
/* Ornate corner decoration frame */
.vn-ornate-frame {
position: relative;
}
.vn-ornate-frame::before,
.vn-ornate-frame::after {
content: "";
position: absolute;
width: 16px;
height: 16px;
pointer-events: none;
}
.vn-ornate-frame::before {
top: 8px;
left: 8px;
border-left: 2px solid rgba(99, 102, 241, 0.4);
border-top: 2px solid rgba(99, 102, 241, 0.4);
}
.vn-ornate-frame::after {
top: 8px;
right: 8px;
border-right: 2px solid rgba(99, 102, 241, 0.4);
border-top: 2px solid rgba(99, 102, 241, 0.4);
}
/* Character nameplate badge */
.vn-nameplate {
display: inline-block;
padding: 2px 12px;
border-radius: 2px;
font-size: 0.75rem;
font-weight: 600;
color: white;
}
/* Choice button hover glow */
.vn-choice:hover {
box-shadow: 0 0 15px rgba(99, 102, 241, 0.15);
}
/* Scene gradient overlay */
.vn-scene-sunset {
background: linear-gradient(180deg, #4a6fa5 0%, #7b9cc7 40%, #c4a882 70%, #e8c19a 100%);
}相关风格
探索这些风格获取现成的 tokens 和组件。
IDE 集成
下载 AI 编码助手的配置文件,使其按照此风格生成代码。
风格包
获取完整的可机器读取风格资源,包括 Design Tokens、Tailwind 预设、CSS 变量和 shadcn/ui 主题。
Metadata
Style metadata including version information
Design Tokens
Figma / Style Dictionary / Tokens Studio 兼容
Tailwind Preset
Tailwind CSS 主题预设,可直接在配置中引用
Global CSS
包含 CSS 变量和基础样式
shadcn Theme
shadcn/ui 主题配置
CSS Variables
纯 CSS 变量,适用于任何项目
SKILL.md
可加载到 Cursor / Claude Code / VS Code 的技能包
Visual Novel 风格源于日本ADV(Adventure)视觉小说游戏的UI设计,强调叙事沉浸感和角色互动。
基于颜色对比度和排版可读性的 WCAG 2.1 合规分析。
综合评分
等级: D - 较差
对比度
| 场景 | 颜色 | 比率 | AA | AAA |
|---|---|---|---|---|
| Text on background | /#4a5568 / #f7fafc | 7.18:1 | ||
| Secondary text on background | /#6366f1 / #f7fafc | 4.26:1 | ||
| Muted text on background | /#4a5568 / #f7fafc | 7.18:1 | ||
| Button primary | /#ffffff / #6366f1 | 4.47:1 | ||
| Text on accent 1 | /#4a5568 / #6366f1 | 1.68:1 | ||
| Alt text on accent 1 | /#6366f1 / #6366f1 | 1:1 | ||
| Text on accent 2 | /#4a5568 / #ec4899 | 2.13:1 | ||
| Alt text on accent 2 | /#6366f1 / #ec4899 | 1.27:1 | ||
| Text on accent 3 | /#4a5568 / #10b981 | 2.97:1 | ||
| Alt text on accent 3 | /#6366f1 / #10b981 | 1.76:1 |
可读性
分数
82/100
字号
text-sm md:text-base
字重
font-serif font-medium
行高
default
评分基于 WCAG 2.1 标准。AA 级要求普通文本对比度 4.5:1、大文本 3:1;AAA 级要求普通文本 7:1、大文本 4.5:1。