当前位置: 首页 > news >正文

Figma组件库的变体(Variants)具体怎么使用?

一、变体是什么(一句话)

变体 = 把同一组件的多种样式/状态,合并成一个“组件集”,用属性自由切换

  • 好处:组件库不乱、更新一次全生效、调用极快。
  • 典型场景:按钮(类型/尺寸/状态)、输入框、标签、卡片。

二、创建变体(手把手:按钮案例)

1. 先做基础组件(自动布局+样式绑定)

  1. 画按钮:Frame(Auto Layout)+ 文字 +(可选)图标
  2. 绑定全局样式:Fill/Text/Effect 用 Color/Text/Shadow Style
  3. 选中 → Cmd+Opt+K(Mac)/Ctrl+Alt+K(Win)→ 生成主组件(紫菱形)。

2. 复制多状态/尺寸

复制主组件,做出所有需要的组合:

  • Type:Primary(主色)/Secondary(次要)/Outline(轮廓)
  • Size:S/M/L
  • State:Default/Hover/Pressed/Disabled

建议:先做 M 尺寸 + Default,再复制扩展。

3. 合并为变体(Component Set)

  1. 框选所有按钮组件
  2. 右侧属性面板 → Combine as variants → 变成紫色虚线框的组件集

4. 定义属性(关键!命名规范)

选中组件集 → 右侧 Variants 区:

  1. 把 Property1 改名为 Type,值:Primary/Secondary/Outline
  2. + Add property → 新增 Size,值:S/M/L
  3. 再新增 State,值:Default/Hover/Pressed/Disabled。

5. 修正每个变体样式

选中组件集中的每个小变体,调整对应样式:

  • Primary:背景主色、文字白色
  • Outline:透明背景、主色描边
  • Disabled:灰色、低透明度

技巧:用批量修改(选多个图层一起改)。


三、4种核心属性类型(灵活控制)

1. Variant(下拉切换,最常用)

  • 用途:类型、尺寸、状态(如 Type=Primary)
  • 调用:右侧下拉选值。

2. Boolean(开关:显示/隐藏)

  • 用途:是否带图标、是否加载中
  • 操作:选中图标图层 → 右侧 Layer 旁箭头 → 绑定 Boolean(如 ShowIcon)→ 默认 false。

3. Text(文字可改)

  • 用途:按钮文案、标签文字
  • 操作:选文字层 → 绑定 Text 属性 → 实例可直接改文案。

4. Swap(替换实例)

  • 用途:换图标、换头像
  • 操作:选图标层 → 绑定 Swap → 实例可右键换图标。

四、日常使用变体(3步上手)

1. 拖入组件集

  • 左侧 Assets(Alt+2)→ 搜索组件名(如 Button)→ 拖到画布 → 生成实例(紫空心菱形)。

2. 切换变体(改属性)

选中实例 → 右侧直接改:

  • Type:Primary → Outline
  • Size:M → L
  • State:Default → Hover
  • ShowIcon:false → true(显示图标)。

3. 局部覆盖(不影响主组件)

  • 改文字:双击直接改
  • 改颜色:选中图层 → Fill → 自定义(会标记为“覆盖”)
  • 换图标:选中图标 → Swap → 换图标
    ⚠️ 不能增删图层、不能改结构(会断开关联)。

五、管理与优化(团队协作必看)

1. 新增变体

选中组件集 → 右下角紫色 + → 复制出新变体 → 修改样式 → 自动加入属性矩阵。

2. 重排属性顺序

右侧 Variants → 拖动属性名(如把 Size 放最前)→ 实例默认优先显示靠前属性。

3. 发布与同步

  • 库管理员:修改组件集 → Assets → 发布更新(写清版本日志)
  • 使用者:打开项目 → 右上角更新红点 → 一键同步所有实例。

4. 避坑要点

  • ✅ 命名统一:Button/Type/Size/State
  • ✅ 样式绑定 Tokens(颜色/文字/阴影)
  • ✅ 用 Boolean 控制显隐,别删图层
  • ❌ 不要做太多变体(建议≤3属性,每属性≤4值)
  • ❌ 实例别改结构(只能覆盖属性)。

http://www.jsqmd.com/news/921953/

相关文章:

  • 机器学习在游戏难度动态平衡中的应用与策略层设计
  • 从Modelsim波形反推设计问题:一个Quartus工程中的边沿检测模块调试实战
  • 2026年淮安市CPPM报名十大核心问题全流程答疑 - 众智商学院课程中心
  • 2026年上饶市CPPM报名十大核心问题全流程答疑 - 众智商学院课程中心
  • 盘点!8款热门CRM平台全维度评测,综合实力大比拼 - Joyky
  • 从Typora迁移到Obsidian,我踩过的那些坑和高效配置方案(含换行、图床、模板无缝迁移指南)
  • QGIS实战:用Graduated渲染让降雨量数据‘开口说话’(附C++ API完整代码)
  • 轻松搞定 Hermes 部署 Windows 一键安装实用技巧(含安装包)
  • 别再只会用预设了!用Unity粒子系统手搓一个带拖尾和二次爆炸的烟花(附完整项目文件)
  • Grafana告警飞书推送踩坑实录:从Webhook配置到消息模板优化,一篇搞定
  • 百考通AI:智能锚定研究根基,让学术起步精准高效
  • 手把手教你为Dell R730服务器安装VMware ESXi 8.0 U2(附Dell OEM版下载与RAID1配置避坑)
  • 从编译失败到成功运行:手把手解决ZLMediaKit交叉编译WebRTC时的三大经典错误
  • 科研党必备:用闲置的旧电脑/树莓派搭建WebDAV服务器,零成本搞定Zotero全平台文献同步
  • 2026年商丘市CPPM报名十大核心问题全流程答疑 - 众智商学院课程中心
  • 技术内容的SEO优化——让搜索引擎成为你的流量放大器
  • Win11上装Oracle 11g踩坑记:从环境报错到PL/SQL远程连接,保姆级排雷指南
  • 网易云音乐NCM格式转换终极指南:ncmdump工具完整使用教程
  • 百考通AI期刊智能化赋能学术发表,让优质成果高效落地
  • 从编辑器到游戏:揭秘Godot拖放API的“潜规则”与实战避坑指南
  • 2026年襄阳市CPPM报名十大核心问题全流程答疑 - 众智商学院课程中心
  • 别再到处找了!一份SMIC 0.18um工艺库文件详解,带你搞懂每个文件夹是干嘛的
  • STM32H723ZGT6网络通信避坑实录:CubeMX配置LWIP+FreeRTOS,就差这行PHY复位代码
  • C语言深度解析:从内存管理到系统编程的实战指南
  • 避坑指南:GTX750/1050更新显卡驱动装CUDA11,千万别踩‘DCH’和‘标准版’这个坑
  • 百度网盘直链解析终极指南:告别限速,5分钟实现免费高速下载
  • 期权策略分析——希腊字母与盈亏图Excel绘制
  • NS-USBloader:一站式解决Switch游戏安装与系统引导的三大痛点
  • 不止于游戏:用Unity的Animation系统模拟智能家居‘自动门’(从建模到触发逻辑全流程)
  • DownKyi终极指南:3步掌握B站视频批量下载与管理的完整方案