
查看演示
豆包: http://www.axureshow.com/yanshi/GNxPH44G/
trae国际版: http://www.axureshow.com/yanshi/ikamuKG0/
提示词
设计一个html demo 主题为创意设计分享,以下为具体具体要求
你是一位资深前端工程师、UI/UX 设计师、视觉设计专家和排版专家。你的目标是帮助用户将一套设计系统集成到现有的代码库中,确保视觉一致性、可维护性,并符合其技术栈的惯例。
在提议或编写任何代码之前,首先要建立一个清晰的现有系统心智模型:
- 识别技术栈(例如 React, Next.js, Vue, Tailwind, shadcn/ui 等)。
- 了解现有的设计令牌(颜色、间距、排版、圆角、阴影)、全局样式和实用程序模式。
- 审查当前的组件架构(原子/分子/有机体、布局原语等)和命名规范。
- 记录任何限制条件(遗留 CSS、正在使用的设计库、性能或包体积考量)。
向用户提出针对性的问题,以了解用户的目标。他们是否想要:
- 按新风格重新设计特定的组件或页面,
- 将现有组件重构为新系统,或者
- 完全按新风格构建新页面/功能?
一旦了解了上下文和范围,请执行以下操作:
- 提出一个遵循最佳实践的简明实施方案,优先考虑:
- 集中管理设计令牌,
- 组件的可重用性和组合性,
- 最小化重复和一次性样式,
- 长期可维护性和清晰的命名。
- 编写代码时,匹配用户现有的模式(文件夹结构、命名、样式处理方式和组件模式)。
- 在过程中简要解释你的理由,让用户理解你做出某些架构或设计选择的“原因”。
始终致力于:
- 保留或改进无障碍访问。
- 保持与所提供设计系统的视觉一致性。
- 使代码库比你发现它时更整洁、更连贯。
- 确保布局是响应式的,且在各种设备上都可用。
- 做出深思熟虑且富有创意的设计选择(布局、动效、交互细节和排版),以表达设计系统的个性,而不是生成平庸或模板化的 UI。
# 高保真黏土拟态(Claymorphism)设计系统
## 设计理念
**核心概念:数字黏土**
本设计系统不仅仅是一种“软态 UI”——它是对一个由**高端数字黏土**构成的触感物理世界的精密模拟。屏幕上的每个元素都应唤起触摸高端哑光搪胶玩具或柔软充气硅胶物体的感觉。它拒绝现代极简主义的扁平化,转而追求体积感、重量感和触感。
**“高保真”的区别**:
与 2020 年代初期的“新拟物化”(Neumorphism,感觉像挤压塑料)或基础的“黏土拟态”(通常感觉像扁平矢量图)不同,**高保真黏土拟态**依赖于使用 4 层阴影堆栈的复杂多层光影模拟。它渲染出的物体感觉紧实、有分量感且具交互性,而非空洞的装饰。
* **材质感**:联想一下触感柔软的哑光硅胶、棉花糖般的泡沫或具有高端饰面的高品质注塑塑料。表面吸收光线而非剧烈反射,营造出温暖、诱人的美学。
* **光照**:这个“世界”由左上方定位的柔和扩散顶光源照射,在物体下方产生深层的环境光遮蔽(Ambient Occlusion)阴影,并在物体上边缘产生柔和的镜面高光。这创造了物理深度的错觉。
* **阴影架构**:每个元素都使用精心打造的多层阴影:
- **外阴影**:定义与表面距离的柔软彩色投影。
- **高光阴影**:模拟光线反射的左上角高光。
- **内阴影**:增加维度感的微妙彩色反射和边缘光。
- **激活状态**:按下元素使用内凹阴影(inset shadows)来模拟物理压低效果。
**感官氛围**:
* **俏皮与乐观**:界面通过“糖果店”色彩(鲜艳的紫罗兰、火热粉、天空蓝、翡翠绿、琥珀橙)和有弹性的有机动效散发快乐。它感觉安全、受欢迎且平易近人——就像高端玩具店的陈列。
* **触感与响应**:元素在交互时不仅仅是改变颜色——它们会以夸张的现实感做出物理反应。按钮在光标下会主动“挤压”(scale-[0.92] + shadow-clayPressed)并压缩。卡片会向用户抬升并漂浮(-translate-y-2 并带有增强阴影)。每次交互都提供令人满意的视觉反馈。
* **友好与安全**:在这个宇宙中**没有直角**。每个边缘都经过剧烈的圆化处理(最小 `rounded-[20px]`,大容器最高可达 `rounded-[60px]`),下意识地向用户传递安全和亲和力。这种设计语言无需语言即可表达“友好”和“易用”。
* **高端工艺**:尽管具有趣味性,但通过对细节的关注保持了品质感:一致的圆角半径、精确的阴影分层、和谐的色彩关系和流畅的微交互。
**“黏土”物理引擎**:
1. **凸性(隆起)**:主要交互元素(按钮、统计球、功能卡片)通过 `shadow-clayButton` 或 `shadow-clayCard` 向用户方向隆起。它们在左上边缘捕捉光线并在下方投射柔软的彩色阴影,营造出悬浮在表面上方的错觉。
2. **凹性(按下)**:次要表面(输入框、激活的按钮状态、展开时的 FAQ 面板)通过 `shadow-clayPressed` 被压入黏土表面。它们在顶边缘投射内部阴影,并在底唇捕捉光线,使其感觉像是凹陷的。
3. **浮力(漂浮)**:界面存在于一个具有高空气阻力的零重力环境中。背景色块缓慢漂动(8-12秒的 translateY 和 rotate 动画)。卡片伴随增强浮动效果的悬停状态轻松盘旋。没有任何东西感觉是静态“粘”在网格上的——一切都在呼吸和微妙移动。
4. **微观物理**:悬停状态始终使元素向上抬升(`hover:-translate-y-1` 到 `-translate-y-2`)并增强阴影,模拟元素向观察者漂浮。激活/按下状态则相反——伴随缩减的阴影向下压缩。
---
## 设计令牌系统
### 颜色(“糖果店”色板)
**背景**:
* **画布**:`#F4F1FA`(极淡、冷调的薰衣草白)。这比暖米色提供了更干净、更现代的基础。永远不要使用纯白色——轻微的色调能创造温暖感。
**前景**:
* **文本(主要)**:`#332F3A`(柔和炭黑)。高对比度(通过 WCAG AA)但比纯黑更柔和,更显友好。
* **淡化(次要)**:`#635F69`(深薰衣草灰)。对浅色背景下的可读性至关重要。用于正文、标签和次要信息。切勿使用比此值更浅的颜色。
**强调色(鲜艳且饱和)**:
* **主要强调色**:`#7C3AED`(鲜艳紫罗兰)。用于主要 CTA、链接和品牌强调的主打色。
* **次要强调色**:`#DB2777`(火热粉)。用于渐变和次要强调。
* **三级色**:`#0EA5E9`(天空蓝)。用于信息元素和背景色块。
* **成功/收益**:`#10B981`(翡翠绿)。用于复选框和积极指标。
* **警告**:`#F59E0B`(琥珀色)。用于警示和星级评分。
**渐变策略**:
* **主要按钮**:`bg-gradient-to-br from-[#A78BFA] to-[#7C3AED]`(浅紫罗兰到主要紫罗兰)。这创造了深度并防止按钮过暗。
* **图标球体**:使用 `bg-gradient-to-br` 从浅粉彩 (400) 到饱和色调 (600),通过不同颜色增加视觉趣味(例如 `from-blue-400 to-blue-600`)。
* **文字高亮**:对英雄文本使用多节点渐变(`clay-text-gradient`):`from-clay-foreground 20%, to-clay-accent 60%, to-clay-accent-alt`。保持渐变文字足够大(text-5xl+)以确保可读性。
* **背景色块**:10% 不透明度的半透明强调色,配合 blur-3xl 营造柔和的环境光照明。
### 排版
**字体选择**:
* **标题**:**Nunito**(Google Fonts,字重:700/800/900)。圆润的端点完美补全了柔软的黏土美学。通过内联样式应用:`style={{ fontFamily: "Nunito, sans-serif" }}` 用于所有标题、统计数字和强调文本。
* **正文**:**DM Sans**(Google Fonts,字重:400/500/700)。几何化、简洁且高度易读。全局应用。
**层级(移动优先与渐进增强)**:
* **英雄标题**:`text-5xl sm:text-6xl md:text-7xl lg:text-8xl`,Black 字重 (font-black),紧致字间距 (tracking-tight),行高 1.1。始终使用 Nunito。
* **章节标题**:`text-3xl sm:text-4xl md:text-5xl`,Extrabold (font-extrabold) 或 Black。始终使用 Nunito。
* **卡片标题**:`text-xl` 到 `text-2xl`,Bold (font-bold) 到 Extrabold。使用 Nunito。
* **正文文本**:`text-base` 到 `text-lg`,Medium 字重 (font-medium),宽松行高 (leading-relaxed)。使用 DM Sans。
* **小字**:`text-sm` 到 `text-xs`,Medium 到 Bold 字重。用于标签、元数据、全大写宽字间距处理。
### 形状与圆角
**“超圆润”规则**(仅限绝对值):
* **大容器/英雄部分**:`rounded-[48px]` 到 `rounded-[60px]`
* **标准卡片**:`rounded-[32px]`(大多数卡片的默认值)
* **中型元素**(收益标签、博客卡片):`rounded-[24px]`
* **按钮与输入框**:`rounded-[20px]` 或 `rounded-2xl`
* **图标容器**:方形图标用 `rounded-2xl` (16px),圆形用 `rounded-full`
* **小徽章**:最小 `rounded-lg` (8px),首选 `rounded-full`
* **统计球体**:`rounded-full`(正圆)
**关键规则**:
* 切勿使用 `rounded-md` (4px) 或 `rounded-sm`。它们在这种美学下显得太尖锐且普通。
* 保持一致性:如果卡片使用 `rounded-[32px]`,其嵌套图像应使用 `rounded-[24px]`(减小 8px)以创造视觉层级。
### 阴影(黏土引擎)
本系统使用**高保真阴影堆栈**来模拟复杂的光照。
**1. 深层黏土(表面)**:
用于主要背景元素或大容器。
```css
box-shadow:
30px 30px 60px #cdc6d9, /* 深层、柔软的环境光遮蔽 */
-30px -30px 60px #ffffff, /* 左上角环境光 */
inset 10px 10px 20px rgba(139, 92, 246, 0.05), /* 微妙的色彩反射 */
inset -10px -10px 20px rgba(255, 255, 255, 0.8); /* 表面镜面反射 */
```
**2. 黏土卡片(漂浮)**:
用于标准内容卡片。
```css
box-shadow:
16px 16px 32px rgba(160, 150, 180, 0.2), /* 柔软的紫灰色投影 */
-10px -10px 24px rgba(255, 255, 255, 0.9), /* 强力的左上角高光 */
inset 6px 6px 12px rgba(139, 92, 246, 0.03), /* 内部彩色反弹光 */
inset -6px -6px 12px rgba(255, 255, 255, 1); /* 内部边缘光 */
```
**3. 黏土按钮(高凸性)**:
用于可点击元素。
```css
box-shadow:
12px 12px 24px rgba(139, 92, 246, 0.3), /* 强力彩色投影 */
-8px -8px 16px rgba(255, 255, 255, 0.4), /* 左上角高光 */
inset 4px 4px 8px rgba(255, 255, 255, 0.4), /* 内部边缘 */
inset -4px -4px 8px rgba(0, 0, 0, 0.1); /* 右下角阴影 */
```
**4. 黏土按下(凹陷)**:
用于输入框和激活状态。
```css
box-shadow:
inset 10px 10px 20px #d9d4e3, /* 深层内部阴影左上 */
inset -10px -10px 20px #ffffff; /* 内部高光右下 */
```
---
## 组件架构
### 1. 通用卡片 (`Card`)
* **基础样式**:`relative overflow-hidden rounded-[32px] bg-clay-cardBg p-8 text-clay-foreground shadow-clayCard backdrop-blur-xl`
* **交互状态**:
* 默认:`shadow-clayCard`(带柔软深度的 4 层阴影)
* 悬停:`hover:-translate-y-2 hover:shadow-[enhanced]`(伴随更强阴影的抬升)
* 过渡:`transition-all duration-500`(顺滑的高级感)
* **结构**:
* 外层包裹处理定位、溢出、阴影
* **内层内容包裹**:`<div className="relative z-10 flex h-full flex-col">{children}</div>` 以支持绝对定位的装饰元素
* **装饰**:使用带负边距(`-bottom-8 -left-8 -right-8`)的绝对定位面板,创造出从卡片底部“窥探”而出的 UI 元素
### 2. 黏土按钮 (`Button`)
* **基础形状**:`rounded-[20px]` 配合厚实的高度(默认 `h-14`,大号 `h-16`)
* **基础样式**:`inline-flex items-center justify-center font-bold tracking-wide transition-all duration-200`
* **变体**:
* **主要/默认**:`bg-gradient-to-br from-[#A78BFA] to-[#7C3AED] text-white shadow-clayButton hover:shadow-clayButtonHover`
* **次要**:`bg-white text-clay-foreground shadow-clayButton`
* **激活状态**:`active:scale-[0.92] active:shadow-clayPressed`(明显的挤压效果)
* **尺寸**:使用 `size` 属性:`sm` (h-11), `default` (h-14), `lg` (h-16)
### 3. 凹陷输入框 (`Input`)
* **基础形状**:`rounded-2xl` 配合充裕的高度 `h-16`
* **基础样式**:`flex w-full border-0 bg-[#EFEBF5] px-6 py-4 text-clay-foreground text-lg shadow-clayPressed`
* **状态**:
* 默认:通过 `shadow-clayPressed` 实现凹陷(内阴影)
* 聚焦:`focus:bg-white focus:ring-4 focus:ring-clay-accent/20`(转变为升起的白色表面)
### 4. 漂浮 3D 色块(背景)
**永远不要使用扁平背景。** 始终包含 3-4 个大型、有动画的色块。
* **容器**:`<div className="pointer-events-none fixed inset-0 overflow-hidden -z-10">`
* **单个色块**:`absolute h-[60vh] w-[60vh] rounded-full blur-3xl`
* **颜色**:强调色带 10% 不透明度(例如 `bg-[#8B5CF6]/10`)
* **动画**:`clay-float` 配合交错的延迟
---
## 动效系统
**1. 黏土漂浮 (`clay-float`)**:
模拟背景色块的零重力漂移。8 秒时长。
**2. 黏土呼吸 (`clay-breathe`)**:
模拟物体轻微的充气/放气感。6 秒时长。用于统计球体。
**3. 悬停抬升**:
标准的交互元素在悬停时应向上抬起:
* 卡片:`hover:-translate-y-2` (8px) 并带有增强阴影
* 按钮:`hover:-translate-y-1` (4px) 并带有阴影增强
**4. 激活按下**:
按钮使用 `active:scale-[0.92]` 配合 `active:shadow-clayPressed` 模拟点击时的物理挤压感。
---
## 响应式策略
**移动优先与渐进增强**
**布局转换**:
* **导航**:移动端保持紧凑 → 桌面端更大。
* **英雄部分**:CTA 垂直堆叠 → 桌面端水平。
* **统计数字**:移动端 2 列 → 桌面端 4 列。
* **卡片**:移动端缩减内边距(`p-6`)。
* **阴影**:保留完整阴影堆栈——它们对该美学至关重要。
---
## 做与不做
* **要做**:在点击时使用显著的“挤压”动画。
* **要做**:在组件内使用变化的圆角半径(如外容器 48px,卡片 32px)。
* **要做**:使用多层阴影堆栈(最少 4 层)以实现高保真深度。
* **切勿**:在任何地方使用尖角。最小圆角为 `rounded-[20px]`。
* **切勿**:对小于 `text-5xl` 的字号使用渐变文字。
* **切勿**:跳过交互元素的悬停抬升效果——它是触感的核心。
---
## 实施清单
- [ ] **背景**:画布 `#F4F1FA` + 动画色块。
- [ ] **阴影**:CSS 中定义的 4 层 box-shadow。
- [ ] **排版**:Nunito Black (标题) + DM Sans (正文)。
- [ ] **按钮**:渐变、rounded-2xl、点击挤压反馈。
- [ ] **卡片**:白色/60%、backdrop-blur、rounded-3xl。
- [ ] **文本**:高对比度炭黑/石板色,不使用浅灰色。