Best For
claymorphism / clay ui / clay effect
粘土拟态
A soft clay-textured design that creates adorable 3D effects through extra-large border radii, combined inner and outer shadows, and gentle gradients, ideal for children's apps and playful products.
Best For
claymorphism / clay ui / clay effect
Primary Move
Use extra-large border radii rounded-3xl or rounded-full
Watch Out
Do NOT use sharp corners rounded-none
AI Implementation
Use the Hard Prompt by default to generate UI. Use the Design Spec to understand, modify, and review the style. Use the Creative Brief for early exploration.
Use this by default: copy it, append the concrete requirement, and let AI generate consistent production UI.
When to use
How to use
STYLEKIT_STYLE_REFERENCE
style_name: Claymorphism
style_slug: claymorphism
style_source: /styles/claymorphism
# Hard Prompt
## When To Use
Use this when you want AI to generate code with strict style consistency. It is the safest default for production UI.
## How To Use
- Copy the full prompt into ChatGPT, Claude, Cursor, or another coding assistant.
- Append the concrete product/page requirement after the prompt.
- After generation, check the forbidden rules and interaction states before accepting the output.
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
You are a Claymorphism design style frontend development expert. All generated code must strictly follow these constraints:
## Absolute Prohibitions
- Using sharp corners rounded-none or small radii rounded-sm
- Using hard-edge shadows shadow-[Xpx_Xpx_0px]
- Using high-contrast dark color schemes
- Using pure black text text-black
- Omitting inner shadow effects
- Using plain translation instead of deformation physics (cannot only use translate-y)
- Using linear easing (must use spring easing)
## Must Follow
- Extra-large radii rounded-3xl, rounded-[32px], rounded-full
- Combined shadows: outer shadow + inner highlight + inner shadow
- Soft gradient backgrounds bg-gradient-to-b, bg-gradient-to-br
- Candy color palette (pink, yellow, green, purple, orange)
## Animation & Interaction Rules
- Squishy Physics: On click (:active) use Squash & Stretch deformation -- active:scale-x-105 active:scale-y-90, simulating clay being pressed and deformed.
- Deep Impression: On press, significantly increase inner shadow (inset shadow from 4px to 8px) while reducing outer shadow, simulating a finger pressing clay inward.
- Bouncy Easing: Must use spring easing ease-[cubic-bezier(0.34,1.56,0.64,1)] with duration-300, giving elements an elastic bounce-back feel on release.
- Floating Hover: On hover, float up -translate-y-1 with slightly expanded outer shadow, expressing the element being gently lifted.
## Color Palette
Primary colors:
- Pink: from-pink-300 to-pink-400, text-pink-600
- Cream: from-amber-100 to-amber-200, text-amber-700
- Mint: from-green-200 to-green-300, text-green-700
- Lavender: from-purple-200 to-purple-300, text-purple-700
- Lemon: from-yellow-200 to-yellow-300, text-yellow-700
## Shadow Formula
Raised elements (buttons, cards):
shadow-[8px_8px_16px_rgba(0,0,0,0.08),inset_4px_4px_8px_rgba(255,255,255,0.6),inset_-2px_-2px_4px_rgba(0,0,0,0.08)]
Inset elements (inputs):
shadow-[inset_4px_4px_8px_rgba(0,0,0,0.1),inset_-4px_-4px_8px_rgba(255,255,255,0.9)]
Pressed state (active):
shadow-[2px_2px_4px_rgba(0,0,0,0.05),inset_8px_8px_16px_rgba(0,0,0,0.15),inset_-4px_-4px_8px_rgba(255,255,255,0.5)]
## Self-Check
After generating code, verify:
1. Border radii are large enough (at least rounded-2xl)
2. Has combined inner and outer shadows
3. Uses soft gradient colors
4. Has scale-x-105 scale-y-90 deformation on press
5. Uses spring easing instead of linear easing
## Absolute Bans (Match and Refuse)
If any of the following patterns appear, it is a style violation — rewrite without exception.
- use sharp corners rounded-none
- use hard-edge shadows shadow-[Xpx_Xpx_0px]
- use high-contrast dark color schemes
- use overly complex gradients
- overcrowd elements
- use plain translate-y instead of real deformation physics
- use linear ease or ease-in-out (lacks bounciness)
## Self-Check (Verify Before Shipping)
If any item fails, the style has drifted — fix before shipping.
- [ ] No purple-to-blue gradients
- [ ] No overused fonts (Inter, Roboto, Geist, Fraunces, Plus Jakarta Sans)
- [ ] No nested cards (cards inside cards)
- [ ] No gray text on colored backgrounds
- [ ] Body text contrast meets WCAG AA (>= 4.5:1)
- [ ] No bounce or elastic easing curves
- [ ] Animations have a prefers-reduced-motion fallback
- [ ] Body text line length capped at 65-75 characters
- [ ] No side-stripe accent borders (border-left/right > 1px)
- [ ] No gradient text (background-clip: text)
- [ ] No glassmorphism used as the default surface treatment
- [ ] No tiny uppercase tracked eyebrow labels above every section heading
- [ ] do NOT use sharp corners rounded-none
- [ ] do NOT use hard-edge shadows shadow-[Xpx_Xpx_0px]
- [ ] do NOT use high-contrast dark color schemes
- [ ] do NOT use overly complex gradients
- [ ] do NOT overcrowd elementsComponent Templates
粘土风格按钮,Q弹按压形变 + 弹簧缓动
Pointer Interactions
Pointer interactions tailored to this style — same cursor, completely different character. Move around the stage to feel it.
Frontend Readiness
This layer tracks whether the style is ready for real websites: theme modes, state feedback, keyboard access, and performance constraints.
Overall
58%
Fallback
Dark Mode
35%
FallbackUI States
79%
PartialMotion
70%
PartialA11y
70%
PartialPerformance
35%
FallbackButton
Default / Hover / Focus Visible / Active / Disabled
Input
Default / Hover / Focus Visible / Disabled / Error
Card
Default / Hover / Focus Visible / Loading / Skeleton
Form
Default / Focus Visible / Disabled / Loading / Error
FAQ
/* Claymorphism 全局样式 */
:root {
--clay-pink: #f8b4d9;
--clay-cream: #fef3c7;
--clay-mint: #a7f3d0;
--clay-lavender: #c4b5fd;
--clay-lemon: #fcd34d;
--clay-shadow-light: rgba(255, 255, 255, 0.7);
--clay-shadow-dark: rgba(0, 0, 0, 0.08);
--clay-spring: cubic-bezier(0.34, 1.56, 0.64, 1);
}
/* 基础粘土效果类 */
.clay {
border-radius: 24px;
box-shadow:
8px 8px 16px var(--clay-shadow-dark),
inset 4px 4px 8px var(--clay-shadow-light),
inset -2px -2px 4px var(--clay-shadow-dark);
}
/* 粘土按钮效果 — Q弹物理 */
.clay-button {
border-radius: 9999px;
box-shadow:
6px 6px 12px var(--clay-shadow-dark),
inset 3px 3px 6px var(--clay-shadow-light),
inset -2px -2px 4px var(--clay-shadow-dark);
transition: all 0.3s var(--clay-spring);
}
.clay-button:hover {
transform: translateY(-4px);
box-shadow:
10px 10px 20px var(--clay-shadow-dark),
inset 3px 3px 6px var(--clay-shadow-light),
inset -2px -2px 4px var(--clay-shadow-dark);
}
.clay-button:active {
transform: scaleX(1.05) scaleY(0.9) translateY(2px);
box-shadow:
2px 2px 4px var(--clay-shadow-dark),
inset 8px 8px 16px rgba(0, 0, 0, 0.15),
inset -2px -2px 4px var(--clay-shadow-light);
}
/* 粘土输入框(内凹效果) */
.clay-input {
border-radius: 16px;
box-shadow:
inset 4px 4px 8px var(--clay-shadow-dark),
inset -4px -4px 8px var(--clay-shadow-light);
transition: all 0.3s var(--clay-spring);
}
@keyframes claymorphism-fade-in {
from { opacity: 0; transform: translateY(8px); }
to { opacity: 1; transform: translateY(0); }
}
@keyframes claymorphism-pulse {
0%, 100% { opacity: 1; }
50% { opacity: 0.7; }
}
.claymorphism-card {
position: relative;
overflow: hidden;
}
.claymorphism-card::before {
content: "";
position: absolute;
inset: 0;
opacity: 0;
transition: opacity 0.3s ease;
background: linear-gradient(135deg, rgba(248, 180, 217, 0.05), transparent);
pointer-events: none;
}
.claymorphism-card:hover::before {
opacity: 1;
}
.claymorphism-gradient {
background: linear-gradient(135deg, #f8b4d9, #a7f3d0);
}
.claymorphism-gradient-text {
background: linear-gradient(135deg, #f8b4d9, #a7f3d0);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
}
.claymorphism-frosted {
backdrop-filter: blur(12px) saturate(180%);
-webkit-backdrop-filter: blur(12px) saturate(180%);
background: rgba(248, 180, 217, 0.08);
}
.claymorphism-accent-corner {
clip-path: polygon(0 0, 100% 0, 100% calc(100% - 2rem), calc(100% - 2rem) 100%, 0 100%);
}
.claymorphism-animate-in {
animation: claymorphism-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
Claymorphism is a UI design style that simulates the texture of clay or plasticine, creating soft, adorable 3D effects through extra-large border radii, combined inner and outer shadows, and gentle gradient colors.
WCAG 2.1 compliance analysis based on color contrast and typography readability.
Overall Score
Grade: C - Fair
Contrast Ratios
Readability
Score
90/100
Font Size
text-base
Font Weight
font-bold text-pink-700
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.