HomeStylesTemplates
StyleKit
StylesAnimationsTemplates
BlogChangelog
  1. Home
  2. /Styles
  3. /Sketch Style
Style Catalog/铅笔手绘风

铅笔手绘风

Sketch Style

D
59/100Poor

A design style simulating pencil hand-drawing, with irregular line borders, paper texture backgrounds, handwritten font feel, sketch shadows, and doodle decorations, conveying a warm and approachable handcrafted texture.

手绘铅笔素描纸张手写涂鸦不规则expressiveboldvibrant
View Full ShowcaseTemplates

Best For

手绘 / 铅笔 / 素描

Primary Move

Use paper-colored background bg-[#f5f0e8]

Watch Out

Do NOT use perfect straight lines and rounded corners

Showcase Entry

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

View Full Showcase

Color Palette

Primary

#2c2c2c

Secondary

#f5f0e8

Accent 1

#e74c3c

Accent 2

#3498db

Accent 3

#27ae60

Accent 4

#f39c12

PromptsComponent PreviewExportsRatings & Feedback

Prompts

Hard + Soft Prompts

Use one-click prompts to generate 铅笔手绘风 style UIs. Hard mode enforces strict constraints; soft mode keeps overall style direction while allowing flexibility.

Hard Prompt

Strict constraints for high style consistency

STYLEKIT_STYLE_REFERENCE
style_name: 铅笔手绘风
style_slug: sketch-style
style_source: /styles/sketch-style

# Hard Prompt

请严格遵守以下风格规则并保持一致性,禁止风格漂移。

## 执行要求
- 优先保证风格一致性,其次再做创意延展。
- 遇到冲突时以禁止项为最高优先级。
- 输出前自检:颜色、排版、间距、交互是否仍属于该风格。

## Style Rules
# Sketch Style (铅笔手绘风) Design System

> 模拟铅笔手绘的设计风格,不规则线条边框、纸张纹理背景、手写字体感、素描阴影和涂鸦装饰,传达亲切温暖的手工质感。

## 核心理念

Sketch Style 是一种模拟手绘铅笔素描的设计风格,通过不规则的线条、纸张纹理和手写感元素,为数字界面注入温暖的手工质感。

核心理念:
- 手工感:线条和形状不追求完美对齐,保留手绘的不规则感
- 纸张质感:使用暖色调米色背景模拟素描本纸张
- 铅笔线条:边框使用不均匀的手绘风格线条
- 素描阴影:使用交叉线条(cross-hatching)模拟阴影效果

设计原则:
- 视觉一致性:所有组件必须遵循统一的视觉语言,从色彩到字体到间距保持谐调
- 层次分明:通过颜色深浅、字号大小、留白空间建立清晰的信息层级
- 交互反馈:每个可交互元素都必须有明确的 hover、active、focus 状态反馈
- 响应式适配:设计必须在移动端、平板、桌面端上保持一致的体验
- 无障碍性:确保色彩对比度符合 WCAG 2.1 AA 标准,所有交互元素可键盘访问

---

## Token 字典(精确 Class 映射)

### 边框
```
宽度: border-2
颜色: border-[#2c2c2c]
圆角: rounded-sm
```

### 阴影
```
小:   shadow-[1px_1px_0px_rgba(44,44,44,0.3)]
中:   shadow-[2px_2px_0px_rgba(44,44,44,0.3)]
大:   shadow-[3px_3px_0px_rgba(44,44,44,0.3)]
悬停: hover:shadow-[2px_2px_0px_rgba(44,44,44,0.5)]
聚焦: focus:shadow-[2px_2px_0px_rgba(44,44,44,0.4)]
```

### 交互效果
```
悬停位移: undefined
过渡动画: transition-opacity duration-200
按下状态: active:opacity-80
```

### 字体
```
标题: font-sans font-semibold tracking-normal
正文: font-sans
```

### 字号
```
Hero:  text-3xl md:text-5xl lg:text-6xl
H1:    text-2xl md:text-4xl
H2:    text-xl md:text-2xl
H3:    text-lg md:text-xl
正文:  text-sm md:text-base
小字:  text-xs md:text-sm
```

### 间距
```
Section: py-10 md:py-16 lg:py-24
容器:    px-4 md:px-6 lg:px-10
卡片:    p-4 md:p-6
```

---

## [FORBIDDEN] 绝对禁止

以下 class 在本风格中**绝对禁止使用**,生成时必须检查并避免:

### 禁止的 Class
- `rounded-xl`
- `rounded-2xl`
- `rounded-3xl`
- `rounded-full`
- `shadow-lg`
- `shadow-xl`
- `shadow-2xl`
- `bg-[#ff71ce]`
- `bg-[#01cdfe]`
- `bg-[#ff006e]`
- `bg-[#00ff00]`
- `text-[#ff71ce]`
- `text-[#01cdfe]`
- `text-[#ff006e]`
- `border-4`
- `font-black`
- `bg-gradient-to-r`
- `bg-gradient-to-l`

### 禁止的模式
- 匹配 `^rounded-(?:xl|2xl|3xl|full)$`
- 匹配 `^shadow-(?:lg|xl|2xl)$`
- 匹配 `^bg-(?:\[#ff|\[#01cd|\[#00ff)`
- 匹配 `^bg-gradient-`

### 禁止原因
- `rounded-xl`: Sketch style uses minimal rounding (rounded-sm) for a hand-drawn feel
- `shadow-xl`: Sketch style uses very subtle pencil-like shadows, not heavy shadows
- `bg-[#ff71ce]`: Sketch style uses pencil tones (grays, cream), not neon colors
- `bg-gradient-to-r`: Sketch style uses flat paper-like surfaces, not gradients

> WARNING: 如果你的代码中包含以上任何 class,必须立即替换。

---

## [REQUIRED] 必须包含

### 按钮必须包含
```
rounded-sm
border-2 border-dashed border-[#2c2c2c]
transition-opacity duration-200
font-semibold
```

### 卡片必须包含
```
rounded-sm
border-2 border-dashed border-[#2c2c2c]
bg-[#f5f0e8]
shadow-[2px_2px_0px_rgba(44,44,44,0.3)]
```

### 输入框必须包含
```
rounded-sm
border-2 border-dashed border-[#2c2c2c]
bg-[#faf5ed]
font-sans
focus:shadow-[2px_2px_0px_rgba(44,44,44,0.4)]
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-sm border-2 border-dashed border-[#2c2c2c] transition-opacity duration-200 font-semibold 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-sm border-2 border-dashed border-[#2c2c2c] bg-[#f5f0e8] shadow-[2px_2px_0px_rgba(44,44,44,0.3)] p-4 md:p-6">
  <h3 class="font-sans font-semibold tracking-normal text-lg md:text-xl">标题</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-sm border-2 border-dashed border-[#2c2c2c] bg-[#faf5ed] font-sans focus:shadow-[2px_2px_0px_rgba(44,44,44,0.4)] 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. 手绘作品集

铅笔手绘风格的个人作品集

```
用 Sketch Style 风格创建一个个人作品集页面,要求:
1. 纸张纹理背景 #f5f0e8
2. 虚线边框卡片展示作品
3. 衬线斜体字体标题
4. 元素微微倾斜增加手绘感
5. 铅笔灰色主色调
6. 涂鸦装饰元素
```

### 2. 手绘笔记页面

仿手写笔记的博客页面

```
用 Sketch Style 风格设计一个笔记/博客页面,要求:
1. 模仿素描本的纸张质感
2. 手写风格的标题和正文
3. 波浪下划线标记重点
4. 涂鸦圆圈标注关键点
5. 虚线分割线分隔内容
6. 铅笔素描风格的图标
```

### 3. 作品集展示

生成 铅笔手绘风风格的作品集页面

```
Create a portfolio showcase page using Sketch Style style with project grid, about section, contact form, and consistent visual language.
```

Soft Prompt

Flexible constraints for quick ideation

STYLEKIT_STYLE_REFERENCE
style_name: 铅笔手绘风
style_slug: sketch-style
style_source: /styles/sketch-style

# Soft Prompt

保持整体风格气质即可,允许实现细节灵活调整,但不要偏离核心视觉语言。

## Style Signals
- 手绘
- 铅笔
- 素描
- 纸张
- 手写
- 涂鸦

## Prefer
- 使用纸张色背景 bg-[#f5f0e8]
- 边框使用不规则风格 border-2 border-dashed 或 wavy
- 使用手写风格字体或 serif 字体
- 阴影使用交叉线条效果而非纯色

## Avoid
- 禁止使用完美的直线和圆角
- 禁止使用纯白背景(应使用纸张色)
- 禁止使用渐变效果

## Output Guidance
- 先保证整体风格识别度,再优化细节。
- 避免过度炫技,保持可读性与可维护性。

Component Templates

Component Preview

按钮

手绘风格按钮,不规则边框

Global Styles

Global CSS

css
/* Sketch Style 全局样式 */

:root {
  --sketch-dark: #2c2c2c;
  --sketch-paper: #f5f0e8;
  --sketch-red: #e74c3c;
  --sketch-blue: #3498db;
  --sketch-green: #27ae60;
  --sketch-yellow: #f39c12;
}

/* 纸张纹理背景 */
.sketch-paper {
  background-color: var(--sketch-paper);
  background-image: url("data:image/svg+xml,%3Csvg width='6' height='6' viewBox='0 0 6 6' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%232c2c2c' fill-opacity='0.03' fill-rule='evenodd'%3E%3Cpath d='M5 0h1L0 6V5zM6 5v1H5z'/%3E%3C/g%3E%3C/svg%3E");
}

/* 手绘边框效果 */
.sketch-border {
  border: 2px dashed var(--sketch-dark);
  border-radius: 2px;
}

/* 交叉阴影效果 */
.sketch-shadow {
  box-shadow: 3px 3px 0 rgba(44, 44, 44, 0.15);
}

/* 手绘不规则效果 */
.sketch-wobbly {
  transform: rotate(-0.5deg);
}

.sketch-wobbly:nth-child(even) {
  transform: rotate(0.5deg);
}

/* 手写字体 */
.sketch-text {
  font-family: 'Georgia', 'Times New Roman', serif;
  font-style: italic;
}

/* 铅笔下划线 */
.sketch-underline {
  text-decoration: underline;
  text-decoration-style: wavy;
  text-decoration-color: var(--sketch-dark);
  text-underline-offset: 4px;
}

/* 涂鸦圆圈标记 */
.sketch-circle {
  border: 2px solid var(--sketch-dark);
  border-radius: 50%;
  transform: rotate(-2deg);
}
@keyframes sketch-style-fade-in {
  from { opacity: 0; transform: translateY(8px); }
  to { opacity: 1; transform: translateY(0); }
}

@keyframes sketch-style-pulse {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.7; }
}

.sketch-style-card {
  position: relative;
  overflow: hidden;
}

.sketch-style-card::before {
  content: "";
  position: absolute;
  inset: 0;
  opacity: 0;
  transition: opacity 0.3s ease;
  background: linear-gradient(135deg, rgba(44, 44, 44, 0.05), transparent);
  pointer-events: none;
}

.sketch-style-card:hover::before {
  opacity: 1;
}

.sketch-style-gradient {
  background: linear-gradient(135deg, #2c2c2c, #e74c3c);
}

.sketch-style-gradient-text {
  background: linear-gradient(135deg, #2c2c2c, #e74c3c);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.sketch-style-frosted {
  backdrop-filter: blur(12px) saturate(180%);
  -webkit-backdrop-filter: blur(12px) saturate(180%);
  background: rgba(44, 44, 44, 0.08);
}

.sketch-style-accent-corner {
  clip-path: polygon(0 0, 100% 0, 100% calc(100% - 2rem), calc(100% - 2rem) 100%, 0 100%);
}

.sketch-style-animate-in {
  animation: sketch-style-fade-in 0.5s ease-out both;
}

IDE Integration

IDE Config Export

Download config files for your AI coding assistant to generate code following this style.

Style Pack

Export Style Pack

Get the 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

Sketch Style is a design style simulating hand-drawn pencil sketches, injecting warm handcrafted texture into digital interfaces through irregular lines, paper textures, and handwritten-feel elements.

Accessibility

Accessibility Score

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

59

Overall Score

Grade: D - Poor

Contrast Ratios

Score: 48/100Avg Ratio: 5.4:1
AA FailAAA Fail
ContextColorsRatioAAAAA
Text on background
/#2c2c2c / #f5f0e8
12.31:1
Secondary text on background
/#5a5a5a / #f5f0e8
6.08:1
Muted text on background
/#8a8a8a / #f5f0e8
3.04:1
Text on secondary background
/#2c2c2c / #e8e2d8
10.84:1
Secondary text on secondary
/#5a5a5a / #e8e2d8
5.35:1
Button primary
/#f5f0e8 / #2c2c2c
12.31:1
Text on accent 1
/#2c2c2c / #2c2c2c
1:1
Alt text on accent 1
/#5a5a5a / #2c2c2c
2.02:1
Text on accent 2
/#2c2c2c / #6b6b6b
2.62:1
Alt text on accent 2
/#5a5a5a / #6b6b6b
1.29:1
Text on accent 3
/#2c2c2c / #a0a0a0
5.34:1
Alt text on accent 3
/#5a5a5a / #a0a0a0
2.64:1

Readability

Score

85/100

Font Size

text-sm md:text-base

Font Weight

font-sans font-semibold tracking-normal

Line Height

default

Scores are based on WCAG 2.1 guidelines. AA requires 4.5:1 contrast for normal text and 3:1 for large text. AAA requires 7:1 for normal text and 4.5:1 for large text.

Further Reading

Prompt examples, FAQ, and extended use cases

This section is better for readers who already like the direction and want more depth.

StyleKit

Curated web design styles collection for more beautiful AI-generated 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.


(c) 2026 StyleKit. Open Source.

AboutContactPrivacyTermsBuilt with Editorial style