Best For
油画 / 印象派 / 笔触
Impressionist Oil
Inspired by Impressionist masters like Monet and Renoir, featuring bold brushstroke textures, dappled light effects, pointillist colors, and warm canvas textures for a rich, oil-painting visual experience.
Best For
油画 / 印象派 / 笔触
Primary Move
Use warm canvas color bg-[#f5f0e1] as background
Watch Out
No flat solid color fills (must have texture and gradients)
Showcase Entry
Live preview of the showcase page. Click to explore the full experience.
Color Palette
Primary
#e8a87c
Secondary
#f5f0e1
Accent 1
#c0392b
Accent 2
#2c3e50
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: Impressionist Oil
style_slug: impressionist-oil
style_source: /styles/impressionist-oil
# 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
# Impressionist Oil (油画印象派风) Design System
> 受莫奈、雷诺阿等印象派大师启发,大胆的笔触纹理、斑驳光影、点彩色彩和温暖的画布质感,呈现如油画般的浓郁视觉体验。
## 核心理念
油画印象派风格汲取19世纪法国印象派绘画的精髓,强调光影变化和色彩的即兴表达。
核心理念:
- 斑驳光影:使用 multiple radial-gradient 叠加模拟阳光穿过树叶的斑驳效果
- 笔触纹理:通过 repeating-linear-gradient 以不同角度叠加创造画布上可见的笔触
- 厚涂堆叠:layered box-shadow(0_3px_0 色块 + blur shadow)模拟颜料的厚实体积感
- 画布质感:温暖的米白底色 #f5f0e1 配以 feTurbulence 织纹滤镜
- 色彩调和:暖橙 #e8a87c、朱红 #c0392b、深蓝 #2c3e50、青绿 #1abc9c、金光 #f5d88a
---
## Token 字典(精确 Class 映射)
### 边框
```
宽度: border
颜色: border-[#e8a87c]/25
圆角: rounded-lg
```
### 阴影
```
小: shadow-[0_2px_0_rgba(192,57,43,0.10),0_3px_8px_rgba(232,168,124,0.15)]
中: shadow-[0_3px_0_rgba(192,57,43,0.12),0_5px_16px_rgba(232,168,124,0.20)]
大: shadow-[0_4px_0_rgba(192,57,43,0.15),0_8px_24px_rgba(44,62,80,0.12)]
悬停: hover:shadow-[0_4px_0_rgba(192,57,43,0.15),0_10px_28px_rgba(44,62,80,0.12)]
聚焦: focus:shadow-[0_0_0_3px_rgba(232,168,124,0.12)]
```
### 交互效果
```
悬停位移: undefined
过渡动画: transition-all duration-300 ease-in-out
按下状态: active:translate-y-[2px]
```
### 字体
```
标题: font-serif font-bold tracking-wide
正文: font-serif
```
### 字号
```
Hero: text-5xl md:text-7xl lg:text-8xl
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-14 md:py-20 lg:py-28
容器: px-6 md:px-10 lg:px-14
卡片: p-6 md:p-8
```
---
## [FORBIDDEN] 绝对禁止
以下 class 在本风格中**绝对禁止使用**,生成时必须检查并避免:
### 禁止的 Class
- `rounded-none`
- `rounded-sm`
- `shadow-[2px_2px_0px`
- `shadow-[3px_3px_0px`
- `shadow-[4px_4px_0px`
- `font-mono`
- `bg-black`
- `bg-[#0a0a1a]`
- `uppercase`
- `rounded-full`
### 禁止的模式
- 匹配 `^shadow-\[\d+px_\d+px_0px`
- 匹配 `^font-mono$`
- 匹配 `^bg-black$`
- 匹配 `^uppercase$`
- 匹配 `^rounded-full$`
### 禁止原因
- `font-mono`: Impressionist Oil uses serif fonts for artistic painterly feel
- `bg-black`: Impressionist Oil uses warm canvas backgrounds (#f5f0e1), never dark
- `rounded-none`: Impressionist Oil uses rounded-lg for soft painterly edges
- `uppercase`: Impressionist Oil uses elegant mixed-case serif, never aggressive uppercase
- `rounded-full`: Impressionist Oil uses rounded-lg, not fully circular shapes
> WARNING: 如果你的代码中包含以上任何 class,必须立即替换。
---
## [REQUIRED] 必须包含
### 按钮必须包含
```
rounded-lg
font-serif font-bold
transition-all duration-300 ease-in-out
```
### 卡片必须包含
```
rounded-lg
bg-[#f5f0e1]
border border-[#e8a87c]/25
```
### 输入框必须包含
```
rounded-lg
border-2 border-[#e8a87c]/25
bg-[#f5f0e1]
font-serif
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-serif font-bold 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 bg-[#f5f0e1] border border-[#e8a87c]/25 p-6 md:p-8">
<h3 class="font-serif font-bold tracking-wide 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-2 border-[#e8a87c]/25 bg-[#f5f0e1] font-serif 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. 印象派画廊页面
油画风格的艺术画廊展示,带有斑驳光影和笔触纹理
```
Use Impressionist Oil style to create a gallery page:
1. Background: canvas cream #f5f0e1 with repeating-linear-gradient crosshatch texture overlay
2. Hero: painting frame border with inset box-shadow, multiple radial-gradient dappled light spots
3. Cards: repeating-linear-gradient brushstroke texture at varied angles, layered box-shadows
4. Buttons: linear-gradient fills with 0 4px 0 solid + blur shadow
5. Warm palette: #e8a87c, #c0392b, #2c3e50, #1abc9c, #f5d88a
6. Font: serif bold throughout
```
### 2. SaaS 着陆页
生成 油画印象派风风格的 SaaS 产品着陆页
```
Create a SaaS landing page using Impressionist Oil style with hero section, feature grid, testimonials, pricing table, and footer.
```
### 3. 作品集展示
生成 油画印象派风风格的作品集页面
```
Create a portfolio showcase page using Impressionist Oil style with project grid, about section, contact form, and consistent visual language.
```Preserves style direction, allows flexible implementation
STYLEKIT_STYLE_REFERENCE
style_name: Impressionist Oil
style_slug: impressionist-oil
style_source: /styles/impressionist-oil
# 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 warm canvas color bg-[#f5f0e1] as background
- Use linear-gradient on buttons to simulate paint tube squeeze texture
- Use layered box-shadow (solid base + blur spread) to simulate impasto shadows
- Use repeating-linear-gradient as card background texture to simulate brushstroke direction
## Avoid
- No flat solid color fills (must have texture and gradients)
- No sharp geometric corners (rounded-none/rounded-sm)
- No neon or fluorescent colors
## Output Guidance
- Ensure overall style recognizability first, then refine details.
- Avoid over-engineering; maintain readability and maintainability.Component Templates
油画印象派颜料管按钮:hover:brightness-110 hover:contrast-125 模拟颜料在阳光下闪耀,active:translate-y-[3px] 与 4px 实色阴影配合产生陷入感,focus:ring-offset-[#f5f0e1] 画布色底
/* Impressionist Oil Global Styles */
:root {
--imp-orange: #e8a87c;
--imp-canvas: #f5f0e1;
--imp-vermillion: #c0392b;
--imp-blue: #2c3e50;
--imp-turquoise: #1abc9c;
--imp-gold: #f5d88a;
}
/* Canvas weave texture overlay */
.imp-canvas::after {
content: "";
position: absolute;
inset: 0;
background-image:
repeating-linear-gradient(0deg, transparent, transparent 3px, rgba(44,62,80,0.03) 3px, transparent 4px),
repeating-linear-gradient(90deg, transparent, transparent 3px, rgba(44,62,80,0.02) 3px, transparent 4px);
opacity: 0.04;
pointer-events: none;
}
/* Dappled light overlay - scattered radial gradient spots */
.imp-dapple::before {
content: "";
position: absolute;
inset: 0;
background:
radial-gradient(circle 80px at 20% 15%, rgba(245,216,138,0.08) 0%, transparent 100%),
radial-gradient(circle 100px at 45% 10%, rgba(232,168,124,0.06) 0%, transparent 100%),
radial-gradient(circle 70px at 75% 20%, rgba(245,216,138,0.07) 0%, transparent 100%),
radial-gradient(circle 90px at 90% 60%, rgba(232,168,124,0.05) 0%, transparent 100%);
pointer-events: none;
}
/* Brushstroke texture as repeating-linear-gradient */
.imp-brushstroke {
background-image: repeating-linear-gradient(
25deg,
transparent,
transparent 15px,
rgba(232,168,124,0.02) 15px,
transparent 16px
);
}
/* Brushstroke underline decoration */
.imp-stroke {
position: relative;
display: inline-block;
}
.imp-stroke::after {
content: "";
position: absolute;
bottom: -4px;
left: -5%;
width: 110%;
height: 6px;
background: var(--imp-orange);
opacity: 0.5;
border-radius: 50%;
transform: rotate(-1deg);
}
/* Pointillism dot background */
.imp-dots {
background-image:
radial-gradient(circle, var(--imp-orange) 0.8px, transparent 0.8px),
radial-gradient(circle, var(--imp-vermillion) 0.6px, transparent 0.6px);
background-size: 12px 12px, 8px 8px;
background-position: 0 0, 4px 4px;
opacity: 0.06;
}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
The Impressionist Oil style draws from the essence of 19th-century French Impressionist painting, emphasizing the interplay of light and shadow and the spontaneous expression of color.
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 | /#2c3e50 / #f5f0e1 | 9.64:1 | ||
| Secondary text on background | /#e8a87c / #f5f0e1 | 1.79:1 | ||
| Muted text on background | /#2c3e50 / #f5f0e1 | 9.64:1 | ||
| Text on secondary background | /#2c3e50 / #ede5d0 | 8.74:1 | ||
| Secondary text on secondary | /#e8a87c / #ede5d0 | 1.62:1 | ||
| Button primary | /#2c3e50 / #2c3e50 | 1:1 | ||
| Text on accent 1 | /#2c3e50 / #e8a87c | 5.4:1 | ||
| Alt text on accent 1 | /#e8a87c / #e8a87c | 1:1 | ||
| Text on accent 2 | /#2c3e50 / #c0392b | 2.02:1 | ||
| Alt text on accent 2 | /#e8a87c / #c0392b | 2.67:1 | ||
| Text on accent 3 | /#2c3e50 / #1abc9c | 4.56:1 | ||
| Alt text on accent 3 | /#e8a87c / #1abc9c | 1.18:1 | ||
| Text on accent 4 | /#2c3e50 / #f5d88a | 7.88:1 | ||
| Alt text on accent 4 | /#e8a87c / #f5d88a | 1.46:1 |
Readability
Score
87/100
Font Size
text-sm md:text-base
Font Weight
font-serif font-bold tracking-wide
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.