HomeStylesTemplates
StyleKit
StylesTemplates
  1. Home
  2. /Styles
  3. /Visual Novel
Style Catalog/视觉小说风

视觉小说风

Visual Novel

D
41/100Poor

A design style inspired by ADV visual novel game UI, featuring semi-transparent dialogue panels, character nameplate badges, ornate corner decorations, branching choice buttons, and save screen interfaces for an immersive interactive storytelling experience.

视觉小说ADV对话框铭牌立绘选项游戏UI交互故事装饰边角moderncontemporary
View Full Showcase →Templates

Best For

视觉小说 / ADV对话框 / 铭牌

Primary Move

Use semi-transparent dark panels bg-[#1a202c]/85 as dialogue boxes

Watch Out

No heavy brutalist borders (border-4+)

Showcase Entry

Live preview of the showcase page. Click to explore the full experience.

View Full Showcase →

Color Palette

Primary

#4a5568

Secondary

#f7fafc

Accent 1

#6366f1

Accent 2

#ec4899

Accent 3

#10b981

Accent 4

#d948bb

PromptsComponent PreviewExportsRatings & Feedback

Prompts

Hard + Soft Prompts

Copy and generate 视觉小说风 style interfaces with one click. Hard prompts enforce strict consistency, while soft prompts allow flexible implementation within the style direction.

Hard Prompt

High consistency, strictly enforces style rules

STYLEKIT_STYLE_REFERENCE
style_name: Visual Novel
style_slug: visual-novel
style_source: /styles/visual-novel

# Hard Prompt

Strictly follow the style rules below and maintain consistency. No style drift allowed.

## Requirements
- Prioritize style consistency first, then creative extension.
- When conflicts arise, treat prohibitions as the highest priority.
- Self-check before output: verify colors, typography, spacing, and interactions still match this style.

## Style Rules
# 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
过渡动画: transition-all duration-300 ease-in-out
按下状态: active:scale-[0.98]
```

### 字体
```
标题: font-serif font-medium
正文: font-sans leading-relaxed
```

### 字号
```
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
```

---

## [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] 错误 vs 正确对比

### 按钮

[WRONG] **错误示例**(使用了圆角和模糊阴影):
```html
<button class="rounded-lg shadow-lg bg-blue-500 text-white px-4 py-2 hover:bg-blue-600">
  点击我
</button>
```

[CORRECT] **正确示例**(使用硬边缘、无圆角、位移效果):
```html
<button class="rounded-lg font-sans font-medium transition-all duration-300 ease-in-out bg-[#ff006e] text-white px-4 py-2 md:px-6 md:py-3">
  点击我
</button>
```

### 卡片

[WRONG] **错误示例**(使用了渐变和圆角):
```html
<div class="rounded-xl shadow-2xl bg-gradient-to-r from-purple-500 to-pink-500 p-6">
  <h3 class="text-xl font-semibold">标题</h3>
</div>
```

[CORRECT] **正确示例**(纯色背景、硬边缘阴影):
```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">标题</h3>
</div>
```

### 输入框

[WRONG] **错误示例**(灰色边框、圆角):
```html
<input class="rounded-md border border-gray-300 px-3 py-2 focus:ring-2 focus:ring-blue-500" />
```

[CORRECT] **正确示例**(黑色粗边框、聚焦阴影):
```html
<input class="rounded-lg border font-sans backdrop-blur-sm focus:outline-none px-3 py-2 md:px-4 md:py-3" placeholder="请输入..." />
```

---

## [TEMPLATES] 页面骨架模板

使用以下模板生成页面,只需替换 `{PLACEHOLDER}` 部分:

### 导航栏骨架
```html
<nav class="bg-white border-b-2 md:border-b-4 border-black px-4 md:px-8 py-3 md:py-4">
  <div class="flex items-center justify-between max-w-6xl mx-auto">
    <a href="/" class="font-black text-xl md:text-2xl tracking-wider">
      {LOGO_TEXT}
    </a>
    <div class="flex gap-4 md:gap-8 font-mono text-sm md:text-base">
      {NAV_LINKS}
    </div>
  </div>
</nav>
```

### Hero 区块骨架
```html
<section class="min-h-[60vh] md:min-h-[80vh] flex items-center px-4 md:px-8 py-12 md:py-0 bg-{ACCENT_COLOR} border-b-2 md:border-b-4 border-black">
  <div class="max-w-4xl mx-auto">
    <h1 class="font-black text-4xl md:text-6xl lg:text-8xl leading-tight tracking-tight mb-4 md:mb-6">
      {HEADLINE}
    </h1>
    <p class="font-mono text-base md:text-xl max-w-xl mb-6 md:mb-8">
      {SUBHEADLINE}
    </p>
    <button class="bg-black text-white font-black px-6 py-3 md:px-8 md:py-4 border-2 md:border-4 border-black shadow-[4px_4px_0px_0px_rgba(255,0,110,1)] md:shadow-[8px_8px_0px_0px_rgba(255,0,110,1)] hover:shadow-none hover:translate-x-[2px] hover:translate-y-[2px] transition-all text-sm md:text-base">
      {CTA_TEXT}
    </button>
  </div>
</section>
```

### 卡片网格骨架
```html
<section class="py-12 md:py-24 px-4 md:px-8">
  <div class="max-w-6xl mx-auto">
    <h2 class="font-black text-2xl md:text-4xl mb-8 md:mb-12">{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="bg-white border-2 md:border-4 border-black shadow-[4px_4px_0px_0px_rgba(0,0,0,1)] md:shadow-[8px_8px_0px_0px_rgba(0,0,0,1)] p-4 md:p-6 hover:shadow-[4px_4px_0px_0px_rgba(255,0,110,1)] md:hover:shadow-[8px_8px_0px_0px_rgba(255,0,110,1)] hover:-translate-y-1 transition-all">
        <h3 class="font-black text-lg md:text-xl mb-2">{CARD_TITLE}</h3>
        <p class="font-mono text-sm md:text-base text-gray-700">{CARD_DESCRIPTION}</p>
      </div>
    </div>
  </div>
</section>
```

### 页脚骨架
```html
<footer class="bg-black text-white py-12 md:py-16 px-4 md:px-8 border-t-2 md:border-t-4 border-black">
  <div class="max-w-6xl mx-auto">
    <div class="grid grid-cols-1 md:grid-cols-3 gap-8">
      <div>
        <span class="font-black text-xl md:text-2xl">{LOGO_TEXT}</span>
        <p class="font-mono text-sm mt-4 text-gray-400">{TAGLINE}</p>
      </div>
      <div>
        <h4 class="font-black text-lg mb-4">{COLUMN_TITLE}</h4>
        <ul class="space-y-2 font-mono text-sm text-gray-400">
          {FOOTER_LINKS}
        </ul>
      </div>
    </div>
  </div>
</footer>
```

---

## [CHECKLIST] 生成后自检清单

**在输出代码前,必须逐项验证以下每一条。如有违反,立即修正后再输出:**

### 1. 圆角检查
- [ ] 搜索代码中的 `rounded-`
- [ ] 确认只有 `rounded-none` 或无圆角
- [ ] 如果发现 `rounded-lg`、`rounded-md` 等,替换为 `rounded-none`

### 2. 阴影检查
- [ ] 搜索代码中的 `shadow-`
- [ ] 确认只使用 `shadow-[Xpx_Xpx_0px_0px_rgba(...)]` 格式
- [ ] 如果发现 `shadow-lg`、`shadow-xl` 等,替换为正确格式

### 3. 边框检查
- [ ] 搜索代码中的 `border-`
- [ ] 确认边框颜色是 `border-black`
- [ ] 如果发现 `border-gray-*`、`border-slate-*`,替换为 `border-black`

### 4. 交互检查
- [ ] 所有按钮都有 `hover:shadow-none hover:translate-x-[2px] hover:translate-y-[2px]`
- [ ] 所有卡片都有 hover 效果(阴影变色或位移)
- [ ] 都包含 `transition-all`

### 5. 响应式检查
- [ ] 边框有 `border-2 md:border-4`
- [ ] 阴影有 `shadow-[4px...] md:shadow-[8px...]`
- [ ] 间距有 `p-4 md:p-6` 或类似的响应式值
- [ ] 字号有 `text-sm md:text-base` 或类似的响应式值

### 6. 字体检查
- [ ] 标题使用 `font-black`
- [ ] 正文使用 `font-mono`

> CRITICAL: **如果任何一项检查不通过,必须修正后重新生成代码。**

---

## [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.
```

Soft Prompt

Preserves style direction, allows flexible implementation

STYLEKIT_STYLE_REFERENCE
style_name: Visual Novel
style_slug: visual-novel
style_source: /styles/visual-novel

# Soft Prompt

Maintain the overall style essence. Implementation details can be adjusted flexibly, but do not deviate from the core visual language.

## Style Signals
- 视觉小说
- ADV对话框
- 铭牌
- 立绘
- 选项
- 游戏UI

## Prefer
- Use semi-transparent dark panels bg-[#1a202c]/85 as dialogue boxes
- Use semi-transparent light panels bg-white/70 as info cards
- Add frosted glass effect backdrop-blur-md to all panels
- Use serif font font-serif for narrative/dialogue text

## Avoid
- No heavy brutalist borders (border-4+)
- No neon RGB split shadow effects
- No pixel art style or monospace fonts for main content

## Output Guidance
- Ensure overall style recognizability first, then refine details.
- Avoid over-engineering; maintain readability and maintainability.

Component Templates

Component Preview

按钮

视觉小说选项按钮,毛玻璃分支选择

Global Styles

Global CSS

css
/* 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%);
}

IDE Integration

IDE Configuration Export

Download configuration files for AI coding assistants to generate code in this style.

Style Pack

Export Style Pack

Get complete machine-readable style assets including design tokens, Tailwind presets, CSS variables, and shadcn/ui themes.

Metadata

Style metadata including version information

Design Tokens

Compatible with Figma / Style Dictionary / Tokens Studio

Tailwind Preset

Tailwind CSS theme preset, import directly in config

Global CSS

CSS variables and base styles

shadcn Theme

shadcn/ui theme configuration

CSS Variables

Pure CSS variables, works with any project

SKILL.md

Loadable skill pack for Cursor / Claude Code / VS Code

Design Philosophy

Visual Novel style originates from the UI design of Japanese ADV (Adventure) visual novel games, emphasizing narrative immersion and character interaction.

Accessibility

Accessibility Score

WCAG 2.1 compliance analysis based on color contrast and typography readability.

41

Overall Score

Grade: D - Poor

Contrast Ratios

Score: 24/100Average Ratio: 3.39:1
AA FailAAA Fail
ContextColorsRatioAAAAA
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

Readability

Score

82/100

Font Size

text-sm md:text-base

Font Weight

font-serif font-medium

Line Height

default

Scoring is based on WCAG 2.1 standards. AA requires 4.5:1 contrast for normal text, 3:1 for large text; AAA requires 7:1 for normal text, 4.5:1 for large text.

StyleKit

A curated web design style library to help AI generate better-looking websites.

Navigation

StylesTemplatesGuideBlogChangelog

Resources

UI Design PromptsLanding Page PromptsDashboard PromptsTailwind UI PromptsDark Mode UI PromptsGitHub Repository

Stay Updated

By subscribing, you agree to our Privacy Policy and Terms.


Support Maintenance

If StyleKit helps your workflow, voluntary support helps cover servers, domains, and ongoing upkeep.

Scan to support / View all options

(c) 2026 StyleKit. Open source project.

AboutContactPrivacyTermsBuilt with the Editorial style
Stylekit前端样式库stylekit.top陕ICP备2025065501号-3