Best For
纸艺 / 剪纸 / 手作
Paper Craft
Paper craft and paper-cut style with layered paper effects, soft shadows suggesting depth, and handmade textured edges. Ideal for children's brands, educational products, and creative studios.
Best For
纸艺 / 剪纸 / 手作
Primary Move
Use paper white bg-[#fdf6ee] or soft warm white for backgrounds
Watch Out
Do not use dark/black backgrounds
Showcase Entry
Live preview of the showcase page. Click to explore the full experience.
Color Palette
Primary
#e85d75
Secondary
#fdf6ee
Accent 1
#5cb8a5
Accent 2
#f5c040
Prompts
Copy and generate 纸艺手作 style interfaces with one click. Hard prompts enforce strict consistency, while soft prompts allow flexible implementation within the style direction.
High consistency, strictly enforces style rules
STYLEKIT_STYLE_REFERENCE
style_name: Paper Craft
style_slug: paper-craft
style_source: /styles/paper-craft
# 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
# Paper Craft (纸艺手作) Design System
> 纸艺与剪纸风格,层叠纸张效果、柔和阴影暗示深度、手作质感边缘。适合儿童品牌、教育产品、创意工作室。
## 核心理念
Paper Craft(纸艺手作)的设计灵感来自剪纸艺术、折纸和手工拼贴。通过层叠的纸张效果、柔和的投影和不规则的手作边缘,创造出温暖、有触感的视觉体验。
核心理念:
- 纸张层叠:通过多层阴影和微妙的偏移创造出真实的纸张堆叠感
- 手作质感:边缘略带不规则感,避免过于数字化的精确
- 柔和色彩:使用纸张般温暖的底色搭配明快但不刺眼的彩色纸片
- 深度暗示:通过阴影方向和强度传达前后层次关系
这个风格刻意回避数字世界的冷硬精确感,转而拥抱手工制作的温度。每一个 UI 元素都应该看起来像是用彩色纸张裁剪、折叠和粘贴而成的——按钮是一张凸起的纸片,卡片是堆叠的纸层,输入框是在纸上裁切出的凹槽。
适合场景:儿童教育应用、手工创意商店、幼儿园网站、创意工作室作品集、DIY 教程平台。
---
## Token 字典(精确 Class 映射)
### 边框
```
宽度: border-2
颜色: border-[#e0d8cc]
圆角: rounded-xl
```
### 阴影
```
小: shadow-[2px_2px_0px_rgba(0,0,0,0.06)]
中: shadow-[4px_4px_0px_rgba(0,0,0,0.08)]
大: shadow-[6px_6px_0px_rgba(0,0,0,0.1)]
悬停: hover:shadow-[5px_5px_0px_rgba(0,0,0,0.12)]
聚焦: focus:shadow-[0_0_0_3px_rgba(232,93,117,0.15)]
```
### 交互效果
```
悬停位移: undefined
过渡动画: transition-all duration-200
按下状态: active:translate-y-0.5 active:shadow-[1px_1px_0px_rgba(0,0,0,0.06)]
```
### 字体
```
标题: font-bold
正文: font-sans
```
### 字号
```
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
```
### 间距
```
Section: py-12 md:py-20
容器: px-4 md:px-8
卡片: p-6
```
---
## [FORBIDDEN] 绝对禁止
以下 class 在本风格中**绝对禁止使用**,生成时必须检查并避免:
### 禁止的 Class
- `bg-black`
- `bg-gray-900`
- `bg-gray-950`
- `text-white`
- `shadow-[0_0_`
- `text-cyan-`
- `text-fuchsia-`
- `bg-cyan-`
- `bg-fuchsia-`
### 禁止的模式
- 匹配 `^bg-(?:black|gray-[89])`
- 匹配 `^shadow-\[0_0_.*rgba`
- 匹配 `^text-(?:cyan|fuchsia)-`
- 匹配 `^bg-(?:cyan|fuchsia)-`
### 禁止原因
- `bg-black`: Paper Craft uses warm light backgrounds, never dark
- `shadow-[0_0_`: Use offset paper shadows (shadow-[4px_4px_...]), not glows
- `text-cyan-`: Use craft colors (#e85d75, #5cb8a5, #f5c040) not neon
> WARNING: 如果你的代码中包含以上任何 class,必须立即替换。
---
## [REQUIRED] 必须包含
### 按钮必须包含
```
px-6 py-3
font-bold
rounded-xl
shadow-[3px_3px_0px_rgba(0,0,0,0.1)]
transition-all duration-200
```
### 卡片必须包含
```
bg-white
rounded-2xl
shadow-[4px_4px_0px_rgba(0,0,0,0.08)]
```
### 输入框必须包含
```
bg-white
border-2 border-[#e0d8cc]
rounded-xl
text-[#2d2d2d]
focus:border-[#e85d75]
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="px-6 py-3 font-bold rounded-xl shadow-[3px_3px_0px_rgba(0,0,0,0.1)] transition-all duration-200 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="bg-white rounded-2xl shadow-[4px_4px_0px_rgba(0,0,0,0.08)] p-6">
<h3 class="font-bold 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="bg-white border-2 border-[#e0d8cc] rounded-xl text-[#2d2d2d] focus:border-[#e85d75] 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. 儿童教育平台
纸艺风格的儿童学习界面
```
Create a kids education landing page using Paper Craft style:
- Warm paper-white background
- Colorful paper-layered cards for subjects
- Playful buttons with paper-shadow and slight rotation
- Badge/label elements as paper cutouts
- Layered paper decorative borders
- Bright but soft craft colors
```
### 2. SaaS 着陆页
生成 纸艺手作风格的 SaaS 产品着陆页
```
Create a SaaS landing page using Paper Craft style with hero section, feature grid, testimonials, pricing table, and footer.
```
### 3. 作品集展示
生成 纸艺手作风格的作品集页面
```
Create a portfolio showcase page using Paper Craft style with project grid, about section, contact form, and consistent visual language.
```Preserves style direction, allows flexible implementation
STYLEKIT_STYLE_REFERENCE
style_name: Paper Craft
style_slug: paper-craft
style_source: /styles/paper-craft
# Soft Prompt
Maintain the overall style essence. Implementation details can be adjusted flexibly, but do not deviate from the core visual language.
## Style Signals
- 纸艺
- 剪纸
- 手作
- 层叠
- 阴影
- 创意
## Prefer
- Use paper white bg-[#fdf6ee] or soft warm white for backgrounds
- Cards use paper shadows shadow-[4px_4px_0px_rgba(0,0,0,0.08)] to simulate raised effects
- Buttons use offset shadows shadow-[3px_3px_0px_rgba(0,0,0,0.1)] to simulate paper piece elevation
- Use rounded but imperfect corners rounded-xl paired with slight rotation rotate-[1deg]
## Avoid
- Do not use dark/black backgrounds
- Do not use glow effects or neon shadows
- Do not use metallic textures or glassmorphism
## Output Guidance
- Ensure overall style recognizability first, then refine details.
- Avoid over-engineering; maintain readability and maintainability.Component Templates
纸艺风格纸片按钮,强调硬挺纸板位移和阴影联动
/* Paper Craft Global Styles */
@layer base {
body {
@apply bg-[#fdf6ee] text-[#2d2d2d] antialiased;
}
::selection {
@apply bg-[#f5c040] text-[#2d2d2d];
}
}
/* Paper texture overlay */
.paper-texture {
background-image: url("data:image/svg+xml,%3Csvg width='100' height='100' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100' height='100' filter='url(%23noise)' opacity='0.02'/%3E%3C/svg%3E");
}
/* Paper fold line */
.paper-fold {
background-image: linear-gradient(
to right,
transparent 49.5%,
rgba(0, 0, 0, 0.05) 49.5%,
rgba(0, 0, 0, 0.05) 50.5%,
transparent 50.5%
);
}
/* Paper Craft Design Tokens */
:root {
--paper-craft-primary: #e85d75;
--paper-craft-secondary: #fdf6ee;
--paper-craft-accent: #5cb8a5;
--paper-craft-glow: rgba(232, 93, 117, 0.3);
}
@keyframes paper-craft-fade-in {
from { opacity: 0; transform: translateY(8px); }
to { opacity: 1; transform: translateY(0); }
}
@keyframes paper-craft-pulse {
0%, 100% { opacity: 1; }
50% { opacity: 0.7; }
}
.paper-craft-card {
position: relative;
overflow: hidden;
}
.paper-craft-card::before {
content: "";
position: absolute;
inset: 0;
opacity: 0;
transition: opacity 0.3s ease;
background: linear-gradient(135deg, rgba(232, 93, 117, 0.05), transparent);
pointer-events: none;
}
.paper-craft-card:hover::before {
opacity: 1;
}
.paper-craft-frosted {
backdrop-filter: blur(12px) saturate(180%);
-webkit-backdrop-filter: blur(12px) saturate(180%);
background: rgba(232, 93, 117, 0.08);
}
.paper-craft-accent-corner {
clip-path: polygon(0 0, 100% 0, 100% calc(100% - 2rem), calc(100% - 2rem) 100%, 0 100%);
}
.paper-craft-animate-in {
animation: paper-craft-fade-in 0.5s ease-out both;
}IDE Integration
Download configuration files for AI coding assistants to generate code in this style.
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
Paper Craft draws design inspiration from paper-cutting art, origami, and handmade collage. Through layered paper effects, soft shadows, and irregular handmade edges, it creates a warm, tactile visual experience.
WCAG 2.1 compliance analysis based on color contrast and typography readability.
Overall Score
Grade: D - Poor
Contrast Ratios
| Context | Colors | Ratio | AA | AAA |
|---|---|---|---|---|
| Text on background | /#2d2d2d / #fdf6ee | 12.85:1 | ||
| Secondary text on background | /#666666 / #fdf6ee | 5.36:1 | ||
| Muted text on background | /#b0a898 / #fdf6ee | 2.2:1 | ||
| Text on secondary background | /#2d2d2d / #ffffff | 13.77:1 | ||
| Secondary text on secondary | /#666666 / #ffffff | 5.74:1 | ||
| Button primary | /#ffffff / #e85d75 | 3.36:1 | ||
| Text on accent 1 | /#2d2d2d / #e85d75 | 4.1:1 | ||
| Alt text on accent 1 | /#666666 / #e85d75 | 1.71:1 | ||
| Text on accent 2 | /#2d2d2d / #5cb8a5 | 5.81:1 | ||
| Alt text on accent 2 | /#666666 / #5cb8a5 | 2.42:1 | ||
| Text on accent 3 | /#2d2d2d / #f5c040 | 8.2:1 | ||
| Alt text on accent 3 | /#666666 / #f5c040 | 3.42:1 | ||
| Text on accent 4 | /#2d2d2d / #6b7fb5 | 3.49:1 | ||
| Alt text on accent 4 | /#666666 / #6b7fb5 | 1.46:1 |
Readability
Score
87/100
Font Size
text-sm md:text-base
Font Weight
font-bold
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.