Visual Novel
视觉小说风
stylekitMITGaming · gamingProfessional · professionalLight and dark · bothMedium · mediumBlue · blueMedium · mediumSerif · serifLanding · landing
借鉴ADV视觉小说游戏UI的设计风格,半透明对话框面板、角色铭牌徽章、装饰性边角框线、分支选项按钮和存档界面,打造沉浸式交互故事体验。
NNorthwind
Product · PricingSpecimen
Make the work feel finished
One interface, dressed in this style. Compare type, color, radius, and density.
128
Active
4.8
Score
12ms
Edge
Attribution
"Visual Novel" from https://github.com/AnxForever/stylekit (MIT). © AnxForever. api/styles/visual-novel @ bfa7da909e86.
https://github.com/AnxForever/stylekit · api/styles/visual-novel · bfa7da909e86 · © AnxForever
Do
- 使用半透明暗色面板 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 保持柔和界面感
Don't
- 禁止使用粗重的野蛮主义边框(border-4+)
- 禁止使用霓虹灯 RGB 分离阴影效果
- 禁止使用像素艺术风格或等宽字体用于主内容
- 禁止使用纯黑背景 bg-black
- 禁止使用全大写加宽字距的终端风格文字
Prompt
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 --- "Visual Novel" from https://github.com/AnxForever/stylekit (MIT). © AnxForever. api/styles/visual-novel @ bfa7da909e86. powered by Styledex — https://styledex.dev
Tokens
DTCG
{
"$schema": "https://www.designtokens.org/schemas/2025.10/format.json",
"$description": "Visual Novel. \"Visual Novel\" from https://github.com/AnxForever/stylekit (MIT). © AnxForever. api/styles/visual-novel @ bfa7da909e86.",
"$extensions": {
"dev.styledex": {
"id": "stylekit-visual-novel",
"license": "MIT",
"attribution": "\"Visual Novel\" from https://github.com/AnxForever/stylekit (MIT). © AnxForever. api/styles/visual-novel @ bfa7da909e86.",
"banner": "powered by Styledex — https://styledex.dev"
}
},
"color": {
"background": {
"$type": "color",
"$value": "#f7fafc"
},
"foreground": {
"$type": "color",
"$value": "#4a5568"
},
"card": {
"$type": "color",
"$value": "#f7fafc"
},
"card-foreground": {
"$type": "color",
"$value": "#4a5568"
},
"primary": {
"$type": "color",
"$value": "#4a5568"
},
"primary-foreground": {
"$type": "color",
"$value": "#fafaf9"
},
"secondary": {
"$type": "color",
"$value": "#f7fafc"
},
"secondary-foreground": {
"$type": "color",
"$value": "#4a5568"
},
"accent": {
"$type": "color",
"$value": "#6366f1"
},
"accent-foreground": {
"$type": "color",
"$value": "#fafaf9"
},
"muted": {
"$type": "color",
"$value": "#e8ebed"
},
"muted-foreground": {
"$type": "color",
"$value": "#89919d"
},
"border": {
"$type": "color",
"$value": "#d4d7d9"
},
"destructive": {
"$type": "color",
"$value": "#dc2626"
},
"ring": {
"$type": "color",
"$value": "#4a5568"
}
},
"font": {
"sans": {
"$type": "fontFamily",
"$value": [
"ui-sans-serif",
"system-ui",
"sans-serif"
]
},
"serif": {
"$type": "fontFamily",
"$value": [
"ui-serif",
"Georgia",
"serif"
]
},
"mono": {
"$type": "fontFamily",
"$value": [
"ui-monospace",
"SFMono-Regular",
"Menlo",
"monospace"
]
}
},
"radius": {
"base": {
"$type": "dimension",
"$value": "0.5rem"
}
},
"spacing": {
"base": {
"$type": "dimension",
"$value": "1rem"
}
},
"shadow": {
"base": {
"$type": "shadow",
"$value": "0 1px 2px rgba(0,0,0,0.06), 0 8px 24px rgba(0,0,0,0.04)"
}
}
}
CSS
/* powered by Styledex — https://styledex.dev */
/* "Visual Novel" from https://github.com/AnxForever/stylekit (MIT). © AnxForever. api/styles/visual-novel @ bfa7da909e86. */
:root {
--background: #f7fafc;
--foreground: #4a5568;
--card: #f7fafc;
--card-foreground: #4a5568;
--primary: #4a5568;
--primary-foreground: #fafaf9;
--secondary: #f7fafc;
--secondary-foreground: #4a5568;
--accent: #6366f1;
--accent-foreground: #fafaf9;
--muted: #e8ebed;
--muted-foreground: #89919d;
--border: #d4d7d9;
--destructive: #dc2626;
--ring: #4a5568;
--radius: 0.5rem;
--font-sans: ui-sans-serif, system-ui, sans-serif;
--font-serif: ui-serif, Georgia, serif;
--font-mono: ui-monospace, SFMono-Regular, Menlo, monospace;
--spacing: 1rem;
--shadow: 0 1px 2px rgba(0,0,0,0.06), 0 8px 24px rgba(0,0,0,0.04);
}
Tailwind
/* powered by Styledex — https://styledex.dev */
/* "Visual Novel" from https://github.com/AnxForever/stylekit (MIT). © AnxForever. api/styles/visual-novel @ bfa7da909e86. */
/** Tailwind theme extend for Visual Novel (stylekit-visual-novel) */
module.exports = {
"theme": {
"extend": {
"colors": {
"background": "#f7fafc",
"foreground": "#4a5568",
"card": "#f7fafc",
"primary": "#4a5568",
"primary-foreground": "#fafaf9",
"secondary": "#f7fafc",
"accent": "#6366f1",
"muted": "#e8ebed",
"border": "#d4d7d9",
"destructive": "#dc2626",
"ring": "#4a5568"
},
"borderRadius": {
"lg": "0.5rem"
},
"fontFamily": {
"sans": [
"ui-sans-serif",
"system-ui",
"sans-serif"
],
"serif": [
"ui-serif",
"Georgia",
"serif"
],
"mono": [
"ui-monospace",
"SFMono-Regular",
"Menlo",
"monospace"
]
},
"boxShadow": {
"styledex": "0 1px 2px rgba(0,0,0,0.06), 0 8px 24px rgba(0,0,0,0.04)"
}
}
}
};
shadcn
/* powered by Styledex — https://styledex.dev */
/* "Visual Novel" from https://github.com/AnxForever/stylekit (MIT). © AnxForever. api/styles/visual-novel @ bfa7da909e86. */
@layer base {
:root {
--background: #f7fafc;
--foreground: #4a5568;
--card: #f7fafc;
--card-foreground: #4a5568;
--primary: #4a5568;
--primary-foreground: #fafaf9;
--secondary: #f7fafc;
--secondary-foreground: #4a5568;
--accent: #6366f1;
--accent-foreground: #fafaf9;
--muted: #e8ebed;
--muted-foreground: #89919d;
--border: #d4d7d9;
--destructive: #dc2626;
--ring: #4a5568;
--radius: 0.5rem;
--font-sans: ui-sans-serif, system-ui, sans-serif;
--font-serif: ui-serif, Georgia, serif;
--font-mono: ui-monospace, SFMono-Regular, Menlo, monospace;
--spacing: 1rem;
--shadow: 0 1px 2px rgba(0,0,0,0.06), 0 8px 24px rgba(0,0,0,0.04);
}
}