UI组件设计规范

280 浏览
28 试用
6 购买
Sep 8, 2025更新

生成UI组件设计规范,包含视觉、交互和代码说明。

按钮类型UI组件设计规范

在UI组件设计中,按钮是一种基础且高频使用的交互元素。设计规范需满足用户可用性,以确保按钮在各种情况下都能被直观、准确地操作。以下是基于最佳实践的具体设计规范:


1. 视觉属性

1.1 按钮类型
  • 主要按钮(Primary Button)
    用于核心动作,视觉上最为显著,承担主要任务的操作。
  • 次要按钮(Secondary Button)
    显示重要性略低的操作,通常出现在辅助场景。
  • 文本按钮(Text Button)
    轻量化设计,通常用于非核心动作,避免干扰重点。
  • 警告按钮(Danger Button)
    用于提示高风险操作(如删除、数据重置等)。
1.2 按钮大小
  • 常规(Regular): 提供足够的点击区域,通常为40px~48px高,最常见的尺寸。
  • 大尺寸(Large): 为移动端或特殊操作提供更舒适的点击范围,54px~64px高。
  • 小尺寸(Small): 适用于空间紧凑或次级操作,24px~32px高。
1.3 按钮形状
  • 边框圆角(Border Radius): 建议圆角为4px、8px或全圆,确保按钮友好且视觉平滑。
  • 边框宽度: 1px~2px,需与整体UI风格保持一致。
1.4 颜色与对比度
  • 背景颜色: 确保按钮(尤其是主要按钮)的背景与页面背景之间有足够的对比度(至少达到WCAG 2.1 AA级标准:对比度4.5:1)。
  • 字体颜色: 确保文字颜色与按钮背景之间的对比度加强可视性(建议对比度达到7:1)。
  • 常见颜色示例:
    • 主要按钮(Primary):#007BFF(蓝色)背景,#FFFFFF(白色)文字。
    • 禁用按钮(Disabled):#EDEDED背景,#AAAAAA文字。

2. 交互状态

按钮应有清晰的交互状态指引,帮助用户感知其响应。每个按钮需至少具备以下几种状态:

  • 默认状态(Default): 显示按钮的初始样式,与正常运行中的页面视觉风格相符。
  • 悬停状态(Hover): 鼠标悬停时,通过颜色(亮度或饱和度的微调)突显按钮。
  • 点击状态(Pressed / Active): 用户点击按钮时,视觉反馈及时响应,可通过颜色加深或凹陷处理显示。
  • 禁用状态(Disabled): 用于按钮不可用时,通常通过降低颜色不透明度来传达不可操作性。
  • 加载状态(Loading): 在提交或处理中,按钮可显示加载动画,同时禁用交互。
状态样例示例:
  1. 默认:背景颜色 #007BFF,文字颜色 #FFFFFF。
  2. 悬停:背景颜色 #0056D2(颜色加深)。
  3. 点击:背景颜色 #003E94(更深的颜色)。
  4. 禁用:背景颜色 #EDEDED,文字颜色 #AAAAAA。

3. 可访问性考虑

  • 可键盘操作: 按钮需支持通过 Tab 键聚焦,以及 Enter空格键触发点击。
  • 焦点状态(Focus): 当按钮通过键盘聚焦时,需可视化高亮其边框或周围加阴影,以提示焦点所在。
  • 文本标签: 每个按钮应使用清晰明了的文案,避免歧义,同时通过 aria-label 提供给屏幕阅读器更多语义化的辅助信息。
  • 触控面积: 提供足够的点击区域,确保触控设备上的可操作性。建议最小点击区域为48x48像素。

4. 代码实现说明

以下代码为按钮的HTML与CSS实现示例:

<!-- HTML -->
<button class="btn btn-primary">提交</button>
<button class="btn btn-secondary">取消</button>
<button class="btn btn-danger">删除</button>
<button class="btn btn-disabled" disabled>禁用按钮</button>
/* CSS */

/* 通用样式 */
.btn {
  font-size: 16px;
  font-weight: 600;
  padding: 10px 20px;
  border: none;
  border-radius: 4px;
  cursor: pointer;
  transition: all 0.2s ease-in-out;
}

/* 默认状态 */
.btn-primary {
  background-color: #007BFF;
  color: #FFFFFF;
}

.btn-secondary {
  background-color: #6C757D;
  color: #FFFFFF;
}

.btn-danger {
  background-color: #DC3545;
  color: #FFFFFF;
}

.btn-disabled {
  background-color: #EDEDED;
  color: #AAAAAA;
  cursor: not-allowed;
}

/* 悬停状态 */
.btn:hover:not([disabled]) {
  filter: brightness(85%);
}

/* 点击状态 */
.btn:active:not([disabled]) {
  transform: scale(0.98);
}

/* 焦点状态 */
.btn:focus {
  outline: 2px solid #0056D2;
  outline-offset: 2px;
}

/* 禁用属性 */
.btn:disabled {
  opacity: 0.6;
  pointer-events: none;
}

5. 响应式支持

为了使按钮在移动设备及桌面设备上均有最佳的表现:

  • 使用CSS媒体查询为不同屏幕尺寸(如小于768px和大于1024px)定制按钮大小和间距。
  • 确保移动端足够触达区域,避免因按钮过于贴近导致误触。

6. 总结

设计按钮时需考虑多种状态下的交互反馈,并确保其具有足够的对比度及清晰操作区域,提供良好的触控和可访问性体验。在开发中,需合理整合CSS动画和焦点指示效果,同时通过语义化和ARIA标签兼顾辅助技术用户的使用体验。

导航栏类型UI组件设计规范

为了确保导航栏类型UI组件满足视觉一致性、高可用性和开发友好性,需要从 视觉设计交互状态可访问性代码实现说明 四个方面进行综合设计:


1. 视觉属性

视觉属性是导航栏设计的核心部分,旨在创造一致的视觉体验。以下为具体细化要求:

  • 布局

    • 高度:固定,例如 64px(在移动设备上可调整为 48px)。
    • 内边距:确保内容不会贴边(建议左右 16px)。
    • 元素间距:导航项之间使用固定间隔(例如 24px),需要保持布局对齐及左右均匀。
    • 图标和文本的组合:确保图标与文本在尺寸和间距上视觉平衡。
  • 字体

    • 字体颜色:
      • 默认文本颜色:#333333
      • 活跃状态颜色:#007AFF(或品牌主色)
      • 禁用状态颜色:#BFBFBF
    • 字体大小:14px 或 16px(视屏幕分辨率调整)。
    • 字体粗细:默认 400,在强调的部分使用 600
  • 图标

    • 图标尺寸:24px × 24px(移动设备上可为 20px × 20px)。
    • 图标颜色:
      • 默认颜色:#333333
      • 活跃状态颜色:#007AFF
      • 禁用状态颜色:#BFBFBF
  • 背景

    • 默认背景颜色:白色 #FFFFFF
    • 分割线:浅灰色 #E0E0E0,位于导航栏底部,可选透明化处理。
  • 主题支持

    • 深色模式:背景颜色调整为 #1E1E1E;文本和图标的默认颜色为 #FFFFFF,禁用颜色为 #A5A5A5

2. 交互状态

导航栏需要支持多种交互状态,以保证良好的用户体验:

  • 默认状态

    • 文本的颜色和图标颜色为默认值。
    • 鼠标悬停(hover):背景颜色微微提升亮度或加入浅色阴影(例如背景变为 #F5F5F5)。
  • 选中状态

    • 强调当前激活的页面或操作。
    • 文本和图标颜色切换为活跃状态颜色(#007AFF)。
    • 可通过下划线或背景高亮强调当前选中导航项(例如使用圆角高亮背景,背景颜色:#E5F4FF)。
  • 点击(Active)状态

    • 文本和图标颜色略加加深(例如 #005BB5)。
    • 可以通过缩放动画增强反馈(transform: scale(0.95))。
  • 禁用状态

    • 此状态的文本、图标颜色变为禁用状态(#BFBFBF)。
    • 鼠标不可点击,光标样式为 not-allowed
  • 触摸设备支持

    • 增加点击区域(建议触控区域不小于 48px × 48px)。
    • 使用触控回馈效果,例如轻微变暗或透明。

3. 可访问性考虑

为确保所有用户的可访问性,包括视障用户和键盘操作用户,设计中加入以下内容:

  • 键盘导航

    • 支持使用 Tab 键逐项导航,当前聚焦项使用清晰的视觉样式(如 outline 边框,或动画切换聚焦效果)。
    • 键盘操作的焦点样式:
      • 默认使用浏览器的 outline 样式。
      • 或者自定义聚焦样式(例如 2px solid #007AFF 的焦点边框)。
  • 屏幕阅读器支持

    • 使用语义化的 HTML 标签(如 <nav><ul>)实现导航。
    • 确保导航项使用适当的描述性文本(通过 aria-labelaria-labelledby 提供补充说明)。
  • 配色对比度

    • 文字与背景对比度必须符合 WCAG 标准,推荐达 AA 级以上(对比度至少为 4.5:1)。
    • 活跃/禁用样式有触觉或视觉上的明显差距。

4. 代码实现说明

以下为推荐的前端代码结构,确保开发过程简洁高效,易于扩展:

<!-- ⚡ HTML结构 -->
<nav class="navbar">
  <ul class="nav-list">
    <li class="nav-item active">
      <a href="#" class="nav-link">
        <span class="icon">🏠</span>
        <span class="text">主页</span>
      </a>
    </li>
    <li class="nav-item">
      <a href="#" class="nav-link">
        <span class="icon">🔍</span>
        <span class="text">搜索</span>
      </a>
    </li>
    <li class="nav-item disabled">
      <a href="#" class="nav-link" aria-disabled="true">
        <span class="icon">⚙️</span>
        <span class="text">设置</span>
      </a>
    </li>
  </ul>
</nav>
/* 🎨 样式设计 */
.navbar {
  background-color: #FFFFFF;
  border-bottom: 1px solid #E0E0E0;
  display: flex;
  align-items: center;
  height: 64px;
}

.nav-list {
  display: flex;
  margin: 0;
  padding: 0;
  list-style: none;
}

.nav-item {
  margin-right: 24px;
}

.nav-item:last-child {
  margin-right: 0;
}

.nav-link {
  display: flex;
  align-items: center;
  text-decoration: none;
  color: #333333;
  font-size: 16px;
}

.nav-link:hover {
  background-color: #F5F5F5;
  border-radius: 6px;
}

.nav-item.active .nav-link {
  color: #007AFF;
  font-weight: 600;
}

.nav-item.disabled .nav-link {
  color: #BFBFBF;
  pointer-events: none;
  cursor: not-allowed;
}

.icon {
  margin-right: 8px;
  font-size: 20px; /* 基础图标大小 */
}
// 🎯 JavaScript增强交互
// 自动处理键盘导航高亮
const navItems = document.querySelectorAll('.nav-item');

navItems.forEach((item) => {
  item.addEventListener('focus', (e) => {
    item.classList.add('focus');
  });
  item.addEventListener('blur', (e) => {
    item.classList.remove('focus');
  });
});

通过上述设计,可以很好地确保导航栏组件在视觉上保持一致、交互上友好、细节上考虑周全,支持可访问性和高效实现。

为表单类型的UI组件制定设计规范时,需要从多个维度考虑,以确保其在视觉设计、交互体验、可访问性以及开发实现方面具备足够的优先级支持。以下是详细设计规范:


1. 视觉属性

1.1 对齐与布局

  • 间距: 表单组件之间使用一致的间距,例如 16px 作水平间距,8px 作竖直间距,以确保可读性和空间感。
  • 对齐方式: 标签(Label)与输入框保持左对齐,支持国际化设计时需要根据语言文字特性调整对齐方式。

1.2 样式与大小

  • 字体: 使用无衬线字体,如 RobotoArial,字体大小为 14-16px,适配不同分辨率。
  • 颜色:
    • 默认状态字体颜色:#333333
    • 提示文本颜色:#8c8c8c
    • 错误状态颜色:#FF4D4F
    • 禁用状态颜色:#D9D9D9(背景色)和 #BFBFBF(文本色)
  • 按钮效果: 主按钮(提交、确认等)使用明显的视觉吸引色(如品牌色),强调视觉层级。
  • 输入框边框:
    • 默认边框:1px 实线,颜色 #D9D9D9
    • 聚焦状态:1px 实线,颜色 #0DAFE6

1.3 样式大小定义

  • 宽度:
    • 输入框:即使自适应内容宽度,也需提供最小宽度,建议 200px。
    • 按钮:至少宽度为 64px,高度为 32px。
  • 圆角:小型按钮和输入框推荐使用 4px 的边角半径。

2. 交互状态

2.1 输入框(Text Field)

  • 默认状态(Default)
    • 显示标签、占位符提示,可点击。
  • 聚焦状态(Focused)
    • 激活状态边框颜色高亮(如 #0DAFE6),增加视觉焦点。
    • 显示光标,能够编辑内容。
  • 输入状态
    • 输入完成后,若校验不通过,应即时通过错误提示红框及校验文案显示反馈(如:请输入有效的邮箱地址)。
  • 禁用状态(Disabled)
    • 灰化组件,避免点击或输入。
  • 错误状态(Error)
    • 输入框边框高亮红色;下方显示错误提示信息。

2.2 按钮(Button)

  • 状态设计
    1. 默认状态:突出主按钮颜色,显示可点击效果。
    2. 悬停状态:高亮或浅色阴影处理,提示用户可交互。
    3. 点击状态:提供按下效果(如按钮轻微凹陷、颜色稍微变暗)。
    4. 禁用状态:按钮颜色变灰,不可响应操作。

2.3 单选框/多选框(Radio/Checkbox)

  • 默认状态:显示圆形或方形框。
  • 悬停状态:增加背景浅色遮罩或改变鼠标光标为指针。
  • 选中状态:突出选择的可视化状态。
  • 禁用状态:转换为灰色,无法改变状态。

3. 可访问性考虑

  1. 键盘导航支持:

    • 通过 Tab 键切换组件焦点, Enter 键确认输入或点击操作,Space 键控制单选框、多选框。
  2. 焦点状态:

    • 聚焦组件时需提供明显的视觉标识(如高亮边框、阴影等),避免用户漏掉聚焦。
  3. 文本可视化:

    • 确保组件内文本与背景之间的对比度至少达到 WCAG AA 标准 (4.5:1)。
  4. 屏幕阅读器支持:

    • 为每个表单输入框绑定语义化标签,如 aria-labelaria-describedby,提供额外的上下文信息。
    • 按钮需要描述其功能,例如“提交”、“取消”。
  5. 错误提示无障碍:

    • 错误文字使用屏幕阅读器朗读,同时与视觉提示同步更新。
  6. 点击区域扩展:

    • 点击目标最小高度推荐为 48px,确保触屏设备上的操作友好。

4. 代码实现说明

4.1 HTML 结构

<form>
  <!-- 输入框 -->
  <div class="form-group">
    <label for="email">邮箱地址</label>
    <input id="email" name="email" type="email" placeholder="请输入邮箱地址" aria-required="true" />
    <span class="error-message">请输入有效的邮箱地址</span>
  </div>
  
  <!-- 单选框 -->
  <div class="form-group">
    <label>选择性别</label>
    <input type="radio" id="male" name="gender" value="male" />
    <label for="male">男</label>
    <input type="radio" id="female" name="gender" value="female" />
    <label for="female">女</label>
  </div>

  <!-- 按钮 -->
  <button type="submit" class="btn-primary">提交</button>
</form>

4.2 CSS 样式

/* 通用样式 */
body {
  font-family: Arial, sans-serif;
  line-height: 1.5;
}

input, button, select, textarea {
  font-size: 14px;
  line-height: 1.5;
}

label {
  display: block;
  font-weight: bold;
  margin-bottom: 4px;
}

input[type="text"], input[type="email"] {
  width: 100%;
  padding: 8px;
  border: 1px solid #D9D9D9;
  border-radius: 4px;
  outline: none;
}

input:focus {
  border-color: #0DAFE6;
  box-shadow: 0 0 4px #0DAFE6;
}

.error-message {
  color: #FF4D4F;
  font-size: 12px;
  margin-top: 4px;
}

button {
  background-color: #0DAFE6;
  color: #FFFFFF;
  border: none;
  padding: 8px 16px;
  cursor: pointer;
  border-radius: 4px;
}

button:disabled {
  background-color: #D9D9D9;
  color: #BFBFBF;
  cursor: not-allowed;
}

4.3 JavaScript 验证逻辑

document.querySelector('form').addEventListener('submit', function (e) {
  const emailInput = document.getElementById('email');
  const errorMessage = document.querySelector('.error-message');

  if (!emailInput.value.includes('@')) {
    e.preventDefault(); // 阻止表单提交
    emailInput.classList.add('error');
    errorMessage.textContent = '请输入有效的邮箱地址';
  } else {
    emailInput.classList.remove('error');
    errorMessage.textContent = '';
  }
});

总结

通过以上的规范设计,我们确保表单组件在视觉上明确、交互上直观、可访问性友好,同时提供了易于扩展的代码实现,方便开发者快速复制和使用。

示例详情

解决的问题

帮助用户高效制定UI组件设计规范,确保设计的一致性和高质量交付,同时满足视觉美观、交互体验和代码实现等多维需求。

适用用户

UI设计师

快速生成完整的设计规范文档,减少重复性工作,专注于设计创新。

产品经理

为产品输出清晰可执行的UI组件规则,确保团队一致性协作。

前端开发工程师

借助自动生成的代码说明,提高开发效率,减少对设计师反复沟通的时间。

特征总结

轻松生成高质量的UI组件设计规范,快速覆盖视觉、交互及代码实现全维度。
自动整合交互状态,确保设计方案对不同功能和场景表现一致性强。
一键输出可访问性考虑,为产品开发提供无障碍设计基础支持。
针对不同UX优先级自动优化设计规范,满足体验目标的精准需求。
支持灵活定制组件类型及优先级,迅速适配各类产品设计需求场景。
生成的设计规范包含代码实现方向,为设计到开发全流程协作提供实际指导。
优化设计文档的标准化与规范度,帮助团队提升设计与交付效率。

如何使用购买的提示词模板

1. 直接在外部 Chat 应用中使用

将模板生成的提示词复制粘贴到您常用的 Chat 应用(如 ChatGPT、Claude 等),即可直接对话使用,无需额外开发。适合个人快速体验和轻量使用场景。

2. 发布为 API 接口调用

把提示词模板转化为 API,您的程序可任意修改模板参数,通过接口直接调用,轻松实现自动化与批量处理。适合开发者集成与业务系统嵌入。

3. 在 MCP Client 中配置使用

在 MCP client 中配置对应的 server 地址,让您的 AI 应用自动调用提示词模板。适合高级用户和团队协作,让提示词在不同 AI 工具间无缝衔接。

AI 提示词价格
¥10.00元
先用后买,用好了再付款,超安全!

您购买后可以获得什么

获得完整提示词模板
- 共 45 tokens
- 2 个可调节参数
{ 组件类型 } { 用户体验优先级 }
获得社区贡献内容的使用权
- 精选社区优质案例,助您快速上手提示词
限时免费

不要错过!

免费获取高级提示词-优惠即将到期

17
:
23
小时
:
59
分钟
:
59