当前位置: 首页 > 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.zskr.cn/news/1433276.html

相关文章:

  • 别再硬算坐标了!Unity六边形地图的立体坐标与屏幕坐标转换,一篇讲透(附完整C#代码)
  • 从Modelsim波形反推设计问题:一个Quartus工程中的边沿检测模块调试实战
  • 轻松搞定 Hermes 部署 Windows 一键安装实用技巧(含安装包)
  • Grafana告警飞书推送踩坑实录:从Webhook配置到消息模板优化,一篇搞定
  • 百考通AI:智能锚定研究根基,让学术起步精准高效
  • 科研党必备:用闲置的旧电脑/树莓派搭建WebDAV服务器,零成本搞定Zotero全平台文献同步
  • 技术内容的SEO优化——让搜索引擎成为你的流量放大器
  • 网易云音乐NCM格式转换终极指南:ncmdump工具完整使用教程
  • 从编辑器到游戏:揭秘Godot拖放API的“潜规则”与实战避坑指南
  • 2026年襄阳市CPPM报名十大核心问题全流程答疑 - 众智商学院课程中心
  • 避坑指南:GTX750/1050更新显卡驱动装CUDA11,千万别踩‘DCH’和‘标准版’这个坑
  • 百度网盘直链解析终极指南:告别限速,5分钟实现免费高速下载
  • UG二次开发避坑指南:如何正确配置Python环境让NXOpen脚本跑起来?
  • 让你的Live2D角色‘开口说话’:基于Unity AudioSource的实时唇形同步避坑指南
  • 科研党必备:手把手教你用闲置电脑/旧笔记本搭建WebDAV服务器,免费同步Zotero文献
  • 泊松多伯努利混合滤波器:多目标跟踪的贝叶斯最优解
  • 统信UOS/麒麟KYLINOS上sudo报‘未知名称或服务‘?别慌,5分钟教你搞定hosts文件
  • 别再死记硬背了!Vivado里Distributed Memory Generator的COE文件初始化,看这篇就够了
  • AutoCAD Civil 3D曲面数据管理避坑指南:为什么我推荐用点编组而非点文件?
  • 手把手复现kkFileView 4.0.0的任意文件读取漏洞(CVE-2021-43734),附环境搭建与修复方案
  • VSCode里装GitHub Copilot总失败?手把手教你搞定授权、网络和插件冲突(附离线包)
  • 完整交易系统实例:从选股到买卖全写明,避开搭建误区 - Leone
  • 手把手教你读懂激光雷达数据表:点频、角分辨率、线数,这些参数如何影响你的感知算法效果?
  • 手把手教你:在VMware里给openEuler虚拟机扩容磁盘,不用重启!
  • 【免费开源】STM32智能鱼缸自动喂食控温换水水族箱物联网项目完整源码分享
  • 炉石传说HsMod插件:55项功能全面优化游戏体验的终极指南
  • 终极B站视频转文字指南:如何快速提取视频内容制作学习笔记
  • UE5.2 + Win10 + AirSim 避坑指南:从编译报错到成功运行Car模式的完整流程
  • 【免费开源】STM32 MQTT远程继电器网关4路智能开关物联网控制完整工程项目分享
  • GPT驱动SaaS产品交互革命:从JSON到提示词驱动UX的工程实践