风格目录/柔和工具风

柔和工具风

Soft Utility

D
52/100较差
给这个风格评分

面向高频使用的手机工具 App,使用浅色背景、清晰状态色和柔和层级,在效率与亲和力之间取得平衡。

工具应用手机应用效率状态色柔和层级高频使用
查看完整 Showcase →
模板

适合场景

工具应用 / 手机应用 / 效率

设计重点

使用深青色作为主行动色,保证按钮和正文可读

注意事项

不要用低对比度文字承载关键任务信息

AI 实现文档

先复制硬性提示词,需要时再看设计规范

默认用硬性提示词让 AI 直接生成前端;Design Spec 用来理解、改写和审核风格;Creative Brief 用来早期探索方向。

硬性提示词

默认使用它:复制后追加具体需求,让 AI 直接生成一致、可落地的前端。

什么时候用

  • 要 AI 直接生成页面或组件
  • 需要多轮输出保持一致
  • 担心风格跑偏或变丑

怎么用

  • 复制完整提示词
  • 后面追加具体需求
  • 生成后按禁止项和状态规则检查
STYLEKIT_STYLE_REFERENCE
style_name: 柔和工具风
style_slug: soft-utility
style_source: /styles/soft-utility

# Hard Prompt

## 什么时候用
当你希望 AI 严格按风格规则生成代码时使用。它是生产界面最稳的默认选择。

## 怎么用
- 把完整提示词复制到 ChatGPT、Claude、Cursor 或其他编码助手。
- 在提示词后追加具体产品、页面或组件需求。
- 生成后按禁止项和交互状态检查,确认没有风格漂移。

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

## 执行要求

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

## Style Rules

STYLE: Soft Utility

## 必须遵守

- 使用深青色作为主行动色,保证按钮和正文可读
- 用薄荷、杏色、蓝色区分状态和模块,而不是装饰性铺色
- 在移动端采用底部操作栏和清晰的返回路径
- 所有输入控件提供 focus、error、success 和 disabled 状态
- 使用 rounded-xl 到 rounded-2xl,保持密度而不过度可爱
- 为常用操作提供一键完成和可撤销反馈

## 绝对禁止

- 不要用低对比度文字承载关键任务信息
- 不要为了柔和而移除边界、分隔和状态反馈
- 不要把工具型页面做成纯展示卡片墙
- 不要使用过度弹跳或影响效率的动画
- 不要让主操作在不同页面随意改变位置

INTERACTION:
- Use 160-240ms transitions and scale-[0.98] on press
- Keep primary controls in a consistent location across screens
- Provide undo or confirmation for destructive actions

COLOR ROLES:
- Surface: #f4f8f6
- Text: #203b40
- Primary: #2d5b63
- Success/support: #a9d8cc
- Notice: #f3c98b
- Secondary states: #e6b7b0 and #b8c9ed

---

# Soft Utility (柔和工具风) Design System

> 面向高频使用的手机工具 App,使用浅色背景、清晰状态色和柔和层级,在效率与亲和力之间取得平衡。

## 核心理念

Soft Utility 面向每天都会打开的工具型 App。它保留柔和色彩和圆润触感,但让状态、输入、筛选和确认拥有比装饰更高的权重。

核心原则:
- 先让用户完成任务,再表达风格
- 颜色承担状态,不用颜色替代文字
- 控件有明确的默认、聚焦、完成和错误状态
- 主要动作固定在拇指容易到达的位置
- 信息密度适中,避免空洞的装饰

---

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

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

### 阴影
```
小: shadow-sm
中: shadow-md
大: shadow-lg
悬停: hover:shadow-md
聚焦: focus:shadow-md
```

### 交互效果
```
悬停位移: (无)
悬停缩放: (无)
悬停透明度: hover:opacity-90
过渡动画: transition-all duration-200
按下状态: active:scale-[0.98]
```

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

```

### 字号
```
Hero: text-4xl md:text-6xl
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-10 md:py-20
容器: px-4 md:px-8
卡片: p-5 md:p-6
小间距: gap-2 md:gap-4
中间距: gap-4 md:gap-6
大间距: gap-6 md:gap-8
```

### 颜色角色
```
背景主色: bg-[#f4f8f6]
背景辅色: bg-[#2d5b63]
背景强调色: bg-[#a9d8cc], bg-[#f3c98b], bg-[#e6b7b0], bg-[#b8c9ed]
正文主色: text-[#2d5b63]
正文辅色: text-[#a9d8cc]
正文弱化色: text-zinc-500
按钮主色: bg-[#2d5b63] text-white
按钮辅色: bg-[#f4f8f6] text-[#2d5b63]
```

---

## [FORBIDDEN] 绝对禁止

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

### 禁止的 Class
- (当前风格没有登记的禁止 class)

### 禁止的模式
- (当前风格没有登记的禁止模式)

### 禁止原因
- 以当前风格的设计规则为准。

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

---

## [REQUIRED] 必须包含

### 按钮必须包含
```
rounded-lg
border
font-medium
inline-flex
items-center
```

### 卡片必须包含
```
rounded-lg
border
bg-white/80
```

### 输入框必须包含
```
rounded-lg
border
bg-background
focus:outline-none
```

---

## [COMPARE] Soft Utility 错误 vs 正确对比

以下错误示例只代表“未经过当前风格适配的通用默认值”,不要把错误示例当成视觉建议。

### 按钮

[WRONG] **错误示例**(通用组件库默认样式,不要直接复制):
```html
<button class="{GENERIC_LIBRARY_BUTTON_DEFAULT}">
  点击我
</button>
```

[CORRECT] **正确示例**(使用当前风格的 token):
```html
<button class="rounded-lg border font-medium inline-flex items-center bg-[#2d5b63] text-white">
  点击我
</button>
```

### 卡片

[WRONG] **错误示例**(未经当前风格适配的通用卡片):
```html
<div class="{GENERIC_LIBRARY_CARD_DEFAULT}">
  <h3>{TITLE}</h3>
</div>
```

[CORRECT] **正确示例**(使用当前风格的 card token):
```html
<div class="rounded-lg border bg-white/80 p-5 md:p-6">
  <h3 class="font-semibold tracking-tight text-xl md:text-2xl">{TITLE}</h3>
</div>
```

### 输入框

[WRONG] **错误示例**(未经当前风格适配的通用输入框):
```html
<input class="{GENERIC_LIBRARY_INPUT_DEFAULT}" />
```

[CORRECT] **正确示例**(使用当前风格的 input token):
```html
<input class="rounded-lg border bg-background focus:outline-none" placeholder="{PLACEHOLDER}" />
```

---

## [TEMPLATES] Soft Utility 页面骨架模板

以下骨架只使用当前风格的 token。替换 `{PLACEHOLDER}` 时,不要移除或替换这些 token:

### 导航栏骨架
```html
<nav class="bg-[#f4f8f6] text-[#2d5b63] border border-[#2d5b63] px-4 md:px-8">
  <div class="flex items-center justify-between max-w-6xl mx-auto gap-4 md:gap-6">
    <a href="/" class="font-semibold tracking-tight text-xl md:text-2xl">
      {LOGO_TEXT}
    </a>
    <div class="flex gap-4 md:gap-6 font-sans text-xs md:text-sm">
      {NAV_LINKS}
    </div>
  </div>
</nav>
```

### Hero 区块骨架
```html
<section class="bg-[#a9d8cc] text-[#2d5b63] py-10 md:py-20 px-4 md:px-8">
  <div class="max-w-4xl mx-auto">
    <h1 class="font-semibold tracking-tight text-4xl md:text-6xl">
      {HEADLINE}
    </h1>
    <p class="font-sans text-sm md:text-base max-w-xl">
      {SUBHEADLINE}
    </p>
    <button class="rounded-lg border font-medium inline-flex items-center bg-[#2d5b63] text-white">
      {CTA_TEXT}
    </button>
  </div>
</section>
```

### 卡片网格骨架
```html
<section class="bg-[#f4f8f6] text-[#2d5b63] py-10 md:py-20 px-4 md:px-8">
  <div class="max-w-6xl mx-auto">
    <h2 class="font-semibold tracking-tight text-2xl md:text-3xl">{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="rounded-lg border bg-white/80 p-5 md:p-6">
        <h3 class="font-semibold tracking-tight text-xl md:text-2xl">{CARD_TITLE}</h3>
        <p class="font-sans text-sm md:text-base text-zinc-500">{CARD_DESCRIPTION}</p>
      </div>
    </div>
  </div>
</section>
```

### 表单输入骨架
```html
<input class="rounded-lg border bg-background focus:outline-none" placeholder="{PLACEHOLDER}" />
```

### 页脚骨架
```html
<footer class="bg-[#2d5b63] text-[#a9d8cc] py-10 md:py-20 px-4 md:px-8">
  <div class="max-w-6xl mx-auto">
    <div class="grid grid-cols-1 md:grid-cols-3 gap-6 md:gap-8">
      <div>
        <span class="font-semibold tracking-tight text-xl md:text-2xl">{LOGO_TEXT}</span>
        <p class="font-sans text-xs md:text-sm">{TAGLINE}</p>
      </div>
      <div>
        <h4 class="font-semibold tracking-tight text-xl md:text-2xl">{COLUMN_TITLE}</h4>
        <ul class="font-sans text-xs md:text-sm">
          {FOOTER_LINKS}
        </ul>
      </div>
    </div>
  </div>
</footer>
```

---

## [CHECKLIST] Soft Utility 生成后自检清单

**输出代码前,逐项验证当前风格的 token 和规则。如有违反,先修正再交付:**

### Token 检查
- [ ] 按钮包含: `rounded-lg border font-medium inline-flex items-center`
- [ ] 卡片包含: `rounded-lg border bg-white/80`
- [ ] 输入框包含: `rounded-lg border bg-background focus:outline-none`

### 禁止项检查
- [ ] 没有使用当前风格禁止的 class 或模式

### 风格规则检查
- [ ] 使用深青色作为主行动色,保证按钮和正文可读
- [ ] 用薄荷、杏色、蓝色区分状态和模块,而不是装饰性铺色
- [ ] 在移动端采用底部操作栏和清晰的返回路径
- [ ] 所有输入控件提供 focus、error、success 和 disabled 状态
- [ ] 使用 rounded-xl 到 rounded-2xl,保持密度而不过度可爱

### 风格漂移检查
- [ ] 没有违反:不要用低对比度文字承载关键任务信息
- [ ] 没有违反:不要为了柔和而移除边界、分隔和状态反馈
- [ ] 没有违反:不要把工具型页面做成纯展示卡片墙
- [ ] 没有违反:不要使用过度弹跳或影响效率的动画
- [ ] 没有违反:不要让主操作在不同页面随意改变位置

### 通用交付检查
- [ ] 响应式布局在手机、平板和桌面下稳定,没有横向溢出
- [ ] 所有交互元素有清晰焦点、可访问名称和 reduced-motion 方案
- [ ] 文本对比度达到 WCAG AA,且没有用颜色单独传递状态
- [ ] 结果仍然能够一眼识别为 Soft Utility

## 绝对禁止(匹配即拒绝)

以下模式一旦出现,视为风格违规——不找借口,直接重写。

- 用低对比度文字承载关键任务信息
- 为了柔和而移除边界、分隔和状态反馈
- 把工具型页面做成纯展示卡片墙
- 使用过度弹跳或影响效率的动画
- 让主操作在不同页面随意改变位置

## 自检清单(交付前逐条确认)

如果任何一条不通过,说明风格漂移了——修改后再交付。

- [ ] 没有紫色到蓝色的渐变
- [ ] 没有使用 Inter / Roboto / Geist 等过度使用的字体
- [ ] 没有嵌套卡片(卡片里面套卡片)
- [ ] 没有在彩色背景上放灰色文字
- [ ] 正文对比度满足 WCAG AA(≥4.5:1)
- [ ] 没有 bounce / elastic 缓动曲线
- [ ] 动效有 prefers-reduced-motion 备选方案
- [ ] 正文行宽不超过 65-75 个字符
- [ ] 没有单侧粗边框装饰(border-left/right accent stripe)
- [ ] 没有渐变文字(background-clip: text)
- [ ] 没有把玻璃态(glassmorphism)当作默认风格
- [ ] 没有 tiny uppercase tracked eyebrow 放在每个 section 标题上面
- [ ] 不要用低对比度文字承载关键任务信息
- [ ] 不要为了柔和而移除边界、分隔和状态反馈
- [ ] 不要把工具型页面做成纯展示卡片墙
- [ ] 不要使用过度弹跳或影响效率的动画
- [ ] 不要让主操作在不同页面随意改变位置

更多提示词库:全部 UI 提示词 · Tailwind UI 提示词 · 暗色模式提示词

社区

评分与反馈

还没有人评分,来当第一个登录后评分

正在加载评论…

组件模板

组件预览

Button

Button component in this style.

真实前端完成度

暗色、状态、动效与可访问性覆盖

这层检查这个风格是否已经具备真实网站常见的主题、状态反馈、键盘可访问性和性能约束。

总体覆盖

51%

Fallback 规则

暗色模式

0%

缺失

组件状态

79%

部分

动效规则

70%

部分

可访问性

70%

部分

性能代价

35%

通用

关键状态覆盖

light
悬停键盘焦点禁用加载中空状态错误成功

按钮

默认 / 悬停 / 键盘焦点 / 按下 / 禁用

输入框

默认 / 悬停 / 键盘焦点 / 禁用 / 错误

卡片

默认 / 悬停 / 键盘焦点 / 加载中 / 骨架屏

表单

默认 / 键盘焦点 / 禁用 / 加载中 / 错误

落地注意事项

  • 暗色模式需要使用语义 tokens,不要直接把浅色主题反相。
  • 组件至少要覆盖悬停、键盘焦点、禁用、加载、空状态、错误和成功反馈。
  • 可访问性需要检查对比度、键盘导航、44px 点击区域和 reduced-motion。
  • 性能上避免动画改变布局;重 blur/shadow 的风格要控制层数和滚动区域。

常见问题

关于柔和工具风的常见问题

什么是柔和工具风风格?
面向高频使用的手机工具 App,使用浅色背景、清晰状态色和柔和层级,在效率与亲和力之间取得平衡。 它的设计理念:Soft Utility 面向每天都会打开的工具型 App。它保留柔和色彩和圆润触感,但让状态、输入、筛选和确认拥有比装饰更高的权重。 核心原则: - 先让用户完成任务,再表达风格 - 颜色承担状态,不用颜色替代文字 - 控件有明确的默认、聚焦、完成和错误状态 - 主要动作固定在拇指容易到达的位置 - 信息密度适中,避免空洞的装饰
柔和工具风风格常用什么配色?
柔和工具风 的主色是 #2d5b63,辅色是 #f4f8f6,强调色包括 #a9d8cc、#f3c98b、#e6b7b0、#b8c9ed。每个色值都可以在本页色板中复制。
怎样把柔和工具风风格做对?
关键做法:使用深青色作为主行动色,保证按钮和正文可读. 用薄荷、杏色、蓝色区分状态和模块,而不是装饰性铺色. 在移动端采用底部操作栏和清晰的返回路径.
柔和工具风风格最常见的错误是什么?
应避免:不要用低对比度文字承载关键任务信息. 不要为了柔和而移除边界、分隔和状态反馈. 不要把工具型页面做成纯展示卡片墙.
如何让 AI 生成柔和工具风风格的界面?
复制本页提供的 AI 提示词(含设计 tokens 与组件规则),粘贴到 ChatGPT、Claude、Claude Code 或 Codex。提示词中应包含关键词:工具应用、手机应用、效率、状态色。
全局样式

全局 CSS

css
:root { --utility-surface: #f4f8f6; --utility-ink: #203b40; --utility-primary: #2d5b63; --utility-mint: #a9d8cc; --utility-apricot: #f3c98b; }
.utility-status { min-height: 0.5rem; border-radius: 9999px; }
.utility-bottom-bar { padding-bottom: max(0.75rem, env(safe-area-inset-bottom)); }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { animation-duration: 0.01ms !important; transition-duration: 0.01ms !important; } }

IDE 集成

IDE 配置导出

下载 AI 编码助手的配置文件,使其按照此风格生成代码。

风格包

导出风格包

获取完整的可机器读取风格资源,包括 Design Tokens、Tailwind 预设、CSS 变量和 shadcn/ui 主题。

Metadata

Style metadata including version information

Design Tokens

Figma / Style Dictionary / Tokens Studio 兼容

Tailwind Preset

Tailwind CSS 主题预设,可直接在配置中引用

Global CSS

包含 CSS 变量和基础样式

shadcn Theme

shadcn/ui 主题配置

CSS Variables

纯 CSS 变量,适用于任何项目

SKILL.md

可加载到 Cursor / Claude Code / VS Code 的技能包

设计哲学

Soft Utility 面向每天都会打开的工具型 App。它保留柔和色彩和圆润触感,但让状态、输入、筛选和确认拥有比装饰更高的权重。

无障碍

无障碍评分

基于颜色对比度和排版可读性的 WCAG 2.1 合规分析。

52

综合评分

等级: D - 较差

对比度

分数: 39/100平均比率: 3.42:1
AA 未通过AAA 未通过
场景颜色比率AAAAA
Text on background
/#2d5b63 / #f4f8f6
7.03:1
Secondary text on background
/#a9d8cc / #f4f8f6
1.47:1
Text on secondary background
/#2d5b63 / #2d5b63
1:1
Secondary text on secondary
/#a9d8cc / #2d5b63
4.8:1
Button primary
/#ffffff / #2d5b63
7.53:1
Text on accent 1
/#2d5b63 / #a9d8cc
4.8:1
Alt text on accent 1
/#a9d8cc / #a9d8cc
1:1
Text on accent 2
/#2d5b63 / #f3c98b
4.86:1
Alt text on accent 2
/#a9d8cc / #f3c98b
1.01:1
Text on accent 3
/#2d5b63 / #e6b7b0
4.22:1
Alt text on accent 3
/#a9d8cc / #e6b7b0
1.14:1
Text on accent 4
/#2d5b63 / #b8c9ed
4.52:1
Alt text on accent 4
/#a9d8cc / #b8c9ed
1.06:1

可读性

分数

82/100

字号

text-sm md:text-base

字重

font-semibold tracking-tight

行高

default

评分基于 WCAG 2.1 标准。AA 级要求普通文本对比度 4.5:1、大文本 3:1;AAA 级要求普通文本 7:1、大文本 4.5:1。