返回风格库
视觉风格retro

拟物设计

Skeuomorphism

模拟真实世界物体的数字设计风格,通过纹理、光影、材质模仿现实物品,带来熟悉感和直觉性体验。

拟物设计视觉预览
主色#8b7355
次色#d4c4a8
强调色 1#c9a227
强调色 2#5c4033
强调色 3#2e5a3c
强调色 4#4bc542

AI 实现规则

你是一个 Skeuomorphism 设计风格的前端开发专家。生成的所有代码必须严格遵守以下约束:

## 绝对禁止

- 使用纯扁平的色块
- 省略阴影和高光效果
- 使用过于简化的图标
- 忽视材质和纹理细节

## 必须遵守

- 渐变背景 bg-gradient-to-b from-gray-100 to-gray-300
- 复杂阴影 shadow-[0_4px_8px_rgba(0,0,0,0.3),inset_0_1px_0_rgba(255,255,255,0.8)]
- 边框层次 border border-gray-400
- 圆角适中 rounded-lg
- 按压反馈 active:translate-y-[1px]

## 配色

- 使用自然材质色调
- 皮革棕: #8b7355
- 木材米: #d4c4a8
- 金属银: #c0c0c0
- 纸张白: #f5f5dc

## 光影原则

- 顶部高光 (inset 0 1px 0 rgba(255,255,255,0.8))
- 底部暗边 (inset 0 -1px 0 rgba(0,0,0,0.1))
- 外部投影 (0 4px 8px rgba(0,0,0,0.3))

## Animation & Interaction Rules

- Tactile Resistance: active 状态使用短时下压和更紧凑外阴影,模拟按键阻尼,不使用弹跳放大。
- Fixed Illuminant: 顶部高光和底部暗边在 hover 与 active 中保持稳定,确保光源始终来自上方。
- Texture Shimmer: 材质层允许轻微 background-position 位移,表达金属拉丝或皮革纹理的受光变化。
- Embossed Focus: 输入焦点优先加深 inset 阴影,而不是强烈外发光轮廓。

## Layout & Spacing
- Section padding: py-16 md:py-24
- Card padding: p-6 md:p-8
- Gap between cards: gap-6 md:gap-8
- Max content width: max-w-6xl mx-auto

## Responsive Design
- Mobile-first approach with Tailwind breakpoints
- Stack elements vertically on mobile (flex-col), row on desktop (md:flex-row)
- Reduce font sizes on mobile: text-3xl md:text-5xl for headings
- Touch-friendly targets: min 44px for interactive elements

## Self-Check Verification
After generating code, verify:
1. All interactive elements have hover/focus/active states
2. Color contrast meets WCAG 2.1 AA (4.5:1 for text)
3. Layout is responsive across breakpoints
4. Typography hierarchy is clear (h1 > h2 > h3 > body)
5. Spacing is consistent using the defined scale
6. All animations respect prefers-reduced-motion

组件预览与实现

font-bold rounded-lg border border-[#a89880] shadow-[0_3px_6px_rgba(0,0,0,0.16),0_3px_6px_rgba(0,0,0,0.23)] transition-all duration-200 ease-out bg-gradient-to-b from-[#b8a88a] to-[#8b7355] text-white hover:-translate-y-px hover:shadow-[0_6px_12px_rgba(0,0,0,0.2),0_4px_6px_rgba(0,0,0,0.18)] active:translate-y-px active:shadow-[inset_0_2px_4px_rgba(0,0,0,0.2)]
button

按钮

拟物风格按钮

<button className="
  px-8 py-4
  bg-gradient-to-b from-gray-100 via-gray-200 to-gray-300
  bg-[length:100%_180%] bg-[position:0_0]
  border border-gray-400
  rounded-lg
  text-gray-700 font-semibold
  shadow-[0_4px_6px_rgba(0,0,0,0.32),inset_0_1px_0_rgba(255,255,255,0.95),inset_0_-1px_0_rgba(0,0,0,0.14)]
  hover:bg-[position:0_20%]
  hover:shadow-[0_5px_8px_rgba(0,0,0,0.35),inset_0_1px_0_rgba(255,255,255,0.95),inset_0_-1px_0_rgba(0,0,0,0.14)]
  active:translate-y-[2px]
  active:shadow-[0_1px_2px_rgba(0,0,0,0.45),inset_0_2px_5px_rgba(0,0,0,0.28),inset_0_1px_0_rgba(255,255,255,0.8)]
  transition-all duration-75 ease-linear
">
  Mechanical Switch
</button>
card

卡片

拟物风格卡片

<div className="
  group
  p-6
  bg-gradient-to-b from-amber-50 to-amber-100
  border border-amber-300
  rounded-xl
  shadow-[0_8px_16px_rgba(0,0,0,0.2),inset_0_1px_0_rgba(255,255,255,0.7),inset_0_-1px_0_rgba(0,0,0,0.12)]
  hover:shadow-[0_10px_20px_rgba(0,0,0,0.24),inset_0_1px_0_rgba(255,255,255,0.75),inset_0_-1px_0_rgba(0,0,0,0.12)]
  relative overflow-hidden
  transition-shadow duration-200
">
  {/* Leather texture overlay */}
  <div className="absolute inset-0 pointer-events-none opacity-[0.03] bg-[radial-gradient(#3f2f1f_0.7px,transparent_0.7px)] bg-[size:5px_5px] bg-[position:0_0] group-hover:bg-[position:2px_2px] group-hover:opacity-[0.05] transition-all duration-200" />
  <h3 className="text-xl font-bold text-amber-900 mb-2 [text-shadow:0_1px_0_rgba(255,255,255,0.8)]">
    Stitched Leather
  </h3>
  <p className="text-amber-800 [text-shadow:0_1px_0_rgba(255,255,255,0.75)]">
    Rich material depth with stable highlight and tactile resistance.
  </p>
</div>
input

输入框

拟物风格输入框

<input
  type="text"
  placeholder="Type here..."
  className="
    w-full px-4 py-3
    bg-gradient-to-b from-white to-gray-100
    border border-gray-300
    rounded-lg
    text-gray-700
    shadow-[inset_0_2px_4px_rgba(0,0,0,0.1),0_1px_0_rgba(255,255,255,0.8)]
    focus:outline-none focus:ring-2 focus:ring-blue-400
    focus:shadow-[inset_0_2px_4px_rgba(0,0,0,0.15),0_0_8px_rgba(59,130,246,0.3)]
    transition-all
  "
/>
hero

Hero 区块

拟物风格 Hero

<section className="
  min-h-screen
  flex items-center justify-center
  bg-gradient-to-b from-stone-200 via-stone-300 to-stone-400
  relative
">
  {/* Wood texture background */}
  <div className="absolute inset-0 opacity-20 bg-repeat" style="background-image: url('wood-texture.png')" />

  <div className="relative z-10 text-center p-8 bg-gradient-to-b from-white/90 to-gray-100/90 rounded-2xl shadow-[0_10px_40px_rgba(0,0,0,0.3),inset_0_1px_0_rgba(255,255,255,0.8)] border border-white/50">
    <h1 className="text-5xl font-bold text-gray-800 mb-4" style="text-shadow: 0 1px 0 rgba(255,255,255,0.8)">
      Skeuomorphism
    </h1>
    <p className="text-xl text-gray-600 mb-6">
      Digital meets physical
    </p>
    <button className="px-8 py-4 bg-gradient-to-b from-blue-400 to-blue-600 rounded-lg text-white font-bold shadow-[0_4px_8px_rgba(0,0,0,0.3),inset_0_1px_0_rgba(255,255,255,0.3)]">
      Explore
    </button>
  </div>
</section>

交互展示

适用范围与设计理念

应用场景

creativesaas

视觉关键词

retro拟物写实纹理质感真实3D阴影retrovintagenostalgic

Skeuomorphism(拟物设计)是一种模拟真实世界物体外观和行为的设计方法,曾在早期 iOS 和数字产品中广泛使用。

核心理念:

- 真实模拟:界面元素模仿现实物品的外观和触感

- 材质纹理:皮革、木材、金属等真实材质纹理

- 光影深度:通过高光、阴影创造立体感

- 熟悉直觉:利用用户对现实世界的认知减少学习成本

设计原则:

- 视觉一致性:所有组件必须遵循统一的视觉语言,从色彩到字体到间距保持谐调

- 层次分明:通过颜色深浅、字号大小、留白空间建立清晰的信息层级

- 交互反馈:每个可交互元素都必须有明确的 hover、active、focus 状态反馈

- 响应式适配:设计必须在移动端、平板、桌面端上保持一致的体验

- 无障碍性:确保色彩对比度符合 WCAG 2.1 AA 标准,所有交互元素可键盘访问

应该这样做

  • 使用真实材质纹理(皮革、木材、金属)
  • 添加逼真的光影效果
  • 模拟物理按钮的按压反馈
  • 使用渐变创造立体感
  • 添加细腻的边缘高光
  • 模拟真实物品的形态和比例

避免这样做

  • 禁止使用纯扁平的色块
  • 禁止省略阴影和高光
  • 禁止使用过于简化的图标
  • 禁止忽视材质细节

全局 CSS

/* Skeuomorphism 全局样式 */

:root {
  --skeu-leather: #8b7355;
  --skeu-wood: #d4c4a8;
  --skeu-metal: #c0c0c0;
  --skeu-paper: #f5f5dc;
}

/* 金属质感按钮 */
.skeu-metal-button {
  background: linear-gradient(180deg, #e8e8e8 0%, #c0c0c0 50%, #a8a8a8 100%);
  border: 1px solid #888;
  box-shadow:
    0 4px 8px rgba(0,0,0,0.3),
    inset 0 1px 0 rgba(255,255,255,0.8),
    inset 0 -1px 0 rgba(0,0,0,0.2);
}

/* 凹陷效果 */
.skeu-inset {
  box-shadow: inset 0 2px 4px rgba(0,0,0,0.2), inset 0 -1px 0 rgba(255,255,255,0.5);
}

/* 凸起效果 */
.skeu-raised {
  box-shadow: 0 4px 8px rgba(0,0,0,0.2), inset 0 1px 0 rgba(255,255,255,0.5);
}
@keyframes skeuomorphism-fade-in {
  from { opacity: 0; transform: translateY(8px); }
  to { opacity: 1; transform: translateY(0); }
}

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

.skeuomorphism-card {
  position: relative;
  overflow: hidden;
}

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

.skeuomorphism-card:hover::before {
  opacity: 1;
}

.skeuomorphism-frosted {
  backdrop-filter: blur(12px) saturate(180%);
  -webkit-backdrop-filter: blur(12px) saturate(180%);
  background: rgba(139, 115, 85, 0.08);
}

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

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

.skeuomorphism-focus { outline: 2px solid var(--skeuomorphism-primary, currentColor); outline-offset: 2px; }

布局、色板与 Tokens

主色#8b7355
次色#d4c4a8
强调色 1#c9a227
强调色 2#5c4033
强调色 3#2e5a3c
强调色 4#4bc542
{
  "border": {
    "width": "border",
    "color": "border-[#a89880]",
    "radius": "rounded-lg",
    "style": "border-solid"
  },
  "shadow": {
    "sm": "shadow-[0_1px_3px_rgba(0,0,0,0.12),0_1px_2px_rgba(0,0,0,0.24)]",
    "md": "shadow-[0_3px_6px_rgba(0,0,0,0.16),0_3px_6px_rgba(0,0,0,0.23)]",
    "lg": "shadow-[0_10px_20px_rgba(0,0,0,0.19),0_6px_6px_rgba(0,0,0,0.23)]",
    "none": "shadow-none",
    "hover": "hover:shadow-[0_14px_28px_rgba(0,0,0,0.25),0_10px_10px_rgba(0,0,0,0.22)]",
    "focus": "focus:shadow-[0_3px_6px_rgba(0,0,0,0.16),0_3px_6px_rgba(0,0,0,0.23)]",
    "colored": {
      "brown": "shadow-[0_3px_6px_rgba(139,115,85,0.3),0_3px_6px_rgba(139,115,85,0.2)]",
      "dark": "shadow-[0_3px_6px_rgba(0,0,0,0.25),0_3px_6px_rgba(0,0,0,0.2)]"
    }
  },
  "interaction": {
    "transition": "transition-all duration-200 ease-out",
    "active": "active:translate-y-px",
    "hoverTranslate": "hover:-translate-y-px"
  },
  "typography": {
    "heading": "font-sans font-bold",
    "body": "font-sans",
    "mono": "font-mono",
    "sizes": {
      "hero": "text-3xl md:text-5xl lg:text-6xl",
      "h1": "text-2xl md:text-4xl",
      "h2": "text-xl md:text-3xl",
      "h3": "text-lg md:text-xl",
      "body": "text-sm md:text-base",
      "small": "text-xs md:text-sm"
    }
  },
  "spacing": {
    "section": "py-10 md:py-16 lg:py-24",
    "container": "px-4 md:px-8 lg:px-12",
    "card": "p-4 md:p-6",
    "gap": {
      "sm": "gap-2 md:gap-3",
      "md": "gap-3 md:gap-5",
      "lg": "gap-5 md:gap-8"
    }
  },
  "colors": {
    "background": {
      "primary": "bg-gradient-to-b from-[#e8dfd1] to-[#d4c4a8]",
      "secondary": "bg-[#8b7355]",
      "accent": [
        "bg-[#b8a88a]",
        "bg-[#6b5b45]",
        "bg-[#c9b896]",
        "bg-[#a0926e]"
      ]
    },
    "text": {
      "primary": "text-[#3a2f22]",
      "secondary": "text-[#6b5b45]",
      "muted": "text-[#8b7355]"
    },
    "button": {
      "primary": "bg-gradient-to-b from-[#b8a88a] to-[#8b7355] text-white",
      "secondary": "bg-gradient-to-b from-[#e8dfd1] to-[#d4c4a8] text-[#3a2f22]",
      "danger": "bg-gradient-to-b from-[#c0392b] to-[#962d22] text-white"
    }
  },
  "forbidden": {
    "classes": [
      "bg-white",
      "bg-black",
      "border-black",
      "border-4",
      "shadow-[2px_2px_0px",
      "shadow-[4px_4px_0px",
      "shadow-[8px_8px_0px",
      "rounded-none",
      "font-black"
    ],
    "patterns": [
      "^shadow-\\[\\d+px_\\d+px_0px",
      "^rounded-none$",
      "^bg-(?:white|black)$",
      "^border-(?:black|4)$"
    ],
    "reasons": {
      "shadow-[4px_4px_0px": "Skeuomorphism uses realistic multi-layer blurred shadows, not hard-edge",
      "rounded-none": "Skeuomorphism uses moderate rounding (rounded-lg) for realistic surfaces",
      "bg-white": "Skeuomorphism uses textured gradient backgrounds, not flat colors",
      "border-black": "Skeuomorphism uses subtle tonal borders matching the surface material"
    }
  },
  "required": {
    "button": [
      "rounded-lg",
      "border border-[#a89880]",
      "shadow-[0_3px_6px_rgba(0,0,0,0.16),0_3px_6px_rgba(0,0,0,0.23)]",
      "hover:-translate-y-px",
      "transition-all duration-200 ease-out",
      "font-bold"
    ],
    "card": [
      "rounded-lg",
      "border border-[#a89880]",
      "shadow-[0_3px_6px_rgba(0,0,0,0.16),0_3px_6px_rgba(0,0,0,0.23)]",
      "bg-gradient-to-b from-[#e8dfd1] to-[#d4c4a8]"
    ],
    "input": [
      "rounded-lg",
      "border border-[#a89880]",
      "bg-[#f5efe6]",
      "font-sans",
      "focus:shadow-[0_3px_6px_rgba(0,0,0,0.16),0_3px_6px_rgba(0,0,0,0.23)]",
      "focus:outline-none"
    ]
  }
}

示例提示词

复古音乐播放器

仿真实收音机的音乐播放界面

用 Skeuomorphism 风格创建一个复古音乐播放器界面,要求:
1. 背景:模拟木质或金属材质
2. 按钮:带有真实按压感的 3D 效果
3. 旋钮:模拟真实旋钮的外观
4. 显示屏:模拟 LCD 或复古显示器
5. 整体有复古电子设备的质感

SaaS 着陆页

生成 拟物设计风格的 SaaS 产品着陆页

Create a SaaS landing page using Skeuomorphism style with hero section, feature grid, testimonials, pricing table, and footer.

作品集展示

生成 拟物设计风格的作品集页面

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