一.学习教程

https://www.bilibili.com/video/BV1vK4y1p78a/?spm_id_from=333.999.0.0&vd_source=ef114f70c3fd4d5394f12dbd3d022bbe
Figma 最佳实践:组件、样式和共享库
https://zhuanlan.zhihu.com/p/60746992
https://mp.weixin.qq.com/s/iOp3aPbqbRr5vnrf0zQANw

这里有一份设计师通常会转为组件的元素列表:

  • UI 组件
  • 公司 logo 或其它品牌资源
  • 图标
  • 设备模型
  • 各平台原生组件(Android、iOS、Linux、OSX 等)
  • 鼠标光标
  • 参考线R或注释
  • 设计协作中使用的便利贴或投票贴纸
  • 流程图元素,比如箭头、流程节点形状

二.制作思路

我们创建一个组件后,它就是一个 master 组件,之后从它复制出去的组件都是它的组件实例,修改 master 组件会同步到它所有的实例。
1.可以先建立一个基础的通用的,不要大而全,每个项目里不同的,需要修改的都不用。
对于不同的付费计划,Figma 组件和共享样式有不同的使用范围:

免费模式:在 Figma 的单个文件内
专业版:在 Figma 的不同项目或文件内
团队版:在 Figma 的不同团队之间

1.原子级组件

将组件进行原子级的结构划分

当你开始构建高保真的组件时,尤其是当你想把它们作为共享组件时,就需要考虑从最小的层级去创建组件,即不可再分的原子级。这样,你就会发现你的设计模式会很统一,比如说按钮的形状或卡片的形状。

一个比较好的习惯是创建一些原子级可复用的元素,将其嵌套在其它组件中。想象一下这个场景:将一个基本形状转换为组件(可复用的原子级组件),然后将它嵌套进所有按钮组件内作为基本形状。这样,当你想要改变所有按钮的形状时,只需要改变这个原子级组件就可以了。

继续考虑上面的例子,假设我们的按钮有主要按钮和次要按钮两大类,每一类都有桌面版和移动版,每一种都有四种状态(正常、禁用、按下和聚焦)。这么算来,我们一共有16种不同的按钮组件。假如你没有在它们里面嵌套一个原子组件,当你需要改变所有按钮的形状时,就需要一个个去修改。所以说,合理地使用原子级组件进行嵌套可以让你的设计系统更易维护。

小技巧:以 _ 和 . 开头的组件在发布时将会被排除在外。所以,我们可以以 _ 和 . 作为原子级组件的开头,因为我们不需要在其它地方使用这些原子级的组件,它们只是作为其它组件的公共部分嵌套之用。这样当你发布了组件时,这些原子级组件就不会在组件面板中出现,可以极大地提高组件面板的使用体验。


图片及引用来自知乎:李俊
https://zhuanlan.zhihu.com/p/60746992

2.嵌套组件
3个以上的内容,各自组成组件后,再组合再一起,例:
图标可以先用icon模版代替

3.变体组件
原子组件生成后,由原子组件裂变成其他原子组件,再变成组件集
组件集合中都是原子组件
把最复杂的组件做出来,其他都是它的变体
https://www.bilibili.com/video/BV1Qf4y1B7LZ/?spm_id_from=333.999.0.0&vd_source=ef114f70c3fd4d5394f12dbd3d022bbe

想要属性以开关样式显示,属性的值,每对如下方式命名


开发可以直接复制变体属性


命名:
原子组件第一个斜杠前的名字为组件集的名字
后面斜杆的名字会自动识别为属性的值
值是一样的属性被合并



组件中要把所有状态都做出来,然后在命名上区分风格1,风格2,再进一步区分填充和非填充

三.组件部分

1.组件思想

1.命名思路:
前面先不用管,后面可以用是否来选择,问是不是,是就是ON,不是就是OFF
比如dark属性,不用再细分的不用划斜杠,而是用下划线
2.原子组件和裂变
首先有一个原子组件,然后复制一个出来,直接把这个组件不解组,外层套一个组件,就变成新的子组件,这样的好处是改变原子组件内容,同类型的,同系列的组件一起变化
3.嵌套组件
子组件每一个都用autolayout,然后组合以后,再一起给添加组件组

2.组件技巧

保留组件文本内容:

当你给一个组件做它的变体或不同状态时,肯定是希望在切换组件时能够保持其内部文本不变的。为了确保你在切换组件状态时内部文字内容保持不变,你需要保证一个组件不同状态之间的内部对应文字图层有相同的名字(实际上文字图层会以你第一次输入的内容作为图层名)。

组件描述:

你可以在右侧的属性面板中给每一个组件写一段描述。当你的鼠标悬浮在左侧组件面板的某个组件上面的时候,这段描述就会显示出来。你可以在里面写一些该组件的使用方法来帮助其他设计师更好地挑选合适的组件。

响应式约束和栅格:

只需要花一点点时间来给组件设置合适的响应式约束,你的组件就可以在尺寸变化时让其内部元素做适当的响应式变化。因为组件和 Frame
行为一致,所以你可以给组件同时添加栅格和响应式约束,让内部元素紧贴栅格边缘,来实现固定内外边距的效果。

内容裁切:

你可以在右侧属性面板中切换是否显示超出组件或 Frame 的内容。当你的组件内有很多重复性内容,并且你想在改变组件尺寸时控制其显示的数量,就可以使用这个特性来实现。比如说,你可以在调节组件高度时控制一个表格显示的行数,不过在此之前请确保设置了正确的响应式约束规则。

样式:

建立文字样式: 创建两套文字样式,其中一套用于移动设备,另一套用于桌面。

建立颜色样式:

建立效果样式:
建立栅格样式:
建立图片填充样式:

样式命名:

  • 按色调分组类
  • 按主题或类型分类
  • 将可访问性高的颜色分为一组
  • 将文字样式按照字体或类型分类
  • 将栅格按照视图尺寸分类

分离的多个共享库

很多团队,尤其是中大型团队,会把组件或样式放置于多个样式库文件中。这样,再团队增大时就很容易扩展和管理。


图片及引用来自知乎:李俊
https://zhuanlan.zhihu.com/p/60746992

四.建立组件库

1.建立通用组件库和项目组件库模版

先建一套可以作为成果展示的组件库模版,再填充内容

2.组件库的内容

首次建立可以先做一个简易版,后续再继续迭代和填充

(1) figma中组件库分类管理:

1.web components

  • common
  • program1
  • program2
    ……
    2.mobile components
    3.platform components
    4.web color
  • common
  • program1
  • program2
    5.mobile color
    6.platform color

1.web components
通用组件库内容
【控件】

  • 左侧导航
  • header
  • avatar
  • 下拉菜单
  • 面包屑导航
  • 输入框/搜索/选择
  • radio
  • checkbox
  • 列表
  • 翻页
  • 间隔线
  • 日历
  • 弹窗
  • 按钮:四种状态
  • 鼠标光标

【图标】

  • 箭头
  • 个人信息
  • 用户
  • 手机号
  • 邮箱
  • 密码显示/隐藏
  • 密码
  • 修改密码
  • 退出
  • 返回
  • 关闭
  • 取消
  • 成功
  • 失败
  • 加载

【注释组件】

  • 间隔参考(10/20/30/50/100/4/8/12/16/24/32/64)
  • 便利贴
  • 流程图元素,比如箭头、流程节点形状

【模版组件】

  • 设备模型

【原生组件】
(Android、iOS、Linux、OSX 等)

项目组件库内容
【图标】

  • 侧导航图标
  • 品牌资源

4.web color
Supa Palette、figma tokens
使用插件建立梯度色板,导入figma

通用颜色

  • 主色梯度:赤橙黄绿青蓝紫
  • 黑色梯度
  • 后台系统背景色
  • 反馈色:警告/成功/失败等
  • 文字颜色
  • 常用配色模版:科技感蓝色/科技感紫色
  • 交互原型配色模版

项目颜色
品牌颜色

五. 零件制作

1.线
用frame上投影-0.5,颜色黑色6%灰度
线用内阴影
多条线就做多个阴影
还要背景加模糊

2.Frame特性
frame必须填充才有阴影之类的

3.投影特性
正常外部投影是在背景加一层阴影,所以会有背景色不同的情况,要做线的话,或者背景有透明度,不能加外部阴影,要加内阴影

4.组建集构建方法
1.先把所有可能用layout方法构建出来

2.统一分类命名
按不同的分类命名,相同分类命名为同一个值,如先分成text和password两类,每一类里再分别命名normal,enabled等

figma-组件库建立相关推荐

  1. 苹果设计组件库_建立设计系统和组件库

    苹果设计组件库 This post is based on the series of posts: Modernizing a jQuery frontend with React. If you ...

  2. B端常用9大开源组件库集合(必备收藏)

    假如你要研发一款To B Web端产品,面对眼花缭乱的开源组件库要如何选? 哪些又是目前业内团队常用的B端开源组件库? 由于知果负责公司Hundsun Design设计体系的构建,因此对组件库比较了解 ...

  3. javascript组件_是的,JavaScript运行Swift。 无论如何都要构建您的组件库。

    javascript组件 Here's a question I've heard a few times recently: 这是我最近几次听到的一个问题: "What if we cre ...

  4. vant 项目_如何搭建mpvue框架搭配vant组件库的小程序项目

    1. vant 介绍 ### 扫码体验 Vant - 轻量.可靠的移动端 Vue 小程序 组件库.由有赞公司开发与维护.提供了一系列美观.优质的移动端组件. vant 官网 2. 在普通小程序怎么使用 ...

  5. 16款优秀的Vue UI组件库推荐

    16款优秀的Vue UI组件库推荐 Vue 是一个轻巧.高性能.可组件化的MVVM库,API简洁明了,上手快.从Vue推出以来,得到众多Web开发者的认可. 在公司的Web前端项目开发中,多个项目采用 ...

  6. 【MSDN文摘】使用自定义验证组件库扩展 Windows 窗体: Form Scope

    使用自定义验证组件库扩展 Windows 窗体,第 2 部分(Windows 窗体探索) 发布日期: 5/28/2004 | 更新日期: 5/28/2004 Michael Weinhardt www ...

  7. vue 组件库发布_如何创建和发布Vue组件库

    vue 组件库发布 Component libraries are all the rage these days. They make it easy to maintain a consisten ...

  8. beeshell —— 开源的 React Native 组件库

    背景 beeshell 是一个 React Native 应用的基础组件库,基于 0.53.3 版本,提供一整套开箱即用的高质量组件,包含 JavaScript(以下简称 JS)组件和复合组件(包含 ...

  9. Fusion组件库是如何支持多语言能力的

    随着国际化发展,多语言的需求越来越常见,单一的语言已经远不能满足需求了.作为一个组件库,支持多语言也是基本能力. 多语言功能的本质其实是文本的替换,一个词汇"OK",在英文语境下是 ...

最新文章

  1. eureka服务的注册、续约、下线
  2. 基地址和偏移地址的概念
  3. 分布式数据库TiDB是如何结合OLTP和OLAP的?
  4. 架构之美阅读笔记之一
  5. java你画我猜源码_为什么看到Mybatis源码就感到烦躁?
  6. 怎么添加usb虚拟打印机端口_佳能LBP2900,夏普等特殊打印机使用教程
  7. 23西南大学电子信息907专硕考研经验贴
  8. 爬虫:爬取豆果网和美食网的菜单
  9. Android渲染时间 太长,Android性能优化之渲染篇
  10. 回望2019,互联网产品发展只剩焦虑?
  11. jupyter保存py格式
  12. vscode win10笔记本 蓝屏_win10蓝屏错误代码大全详解
  13. 【网络工具】使用 iperf测试 udp组播
  14. 宽带拨号上网显示服务器失效,拨号上网失败 宽带连接错误651怎么办
  15. 习题3-5 三角形判断 (15 分)-PTA浙大版《C语言程序设计(第4版)》
  16. 华为手机支持鸿蒙,2021年华为智能手机全面升级支持鸿蒙2.0
  17. 带api的php探针,从零开始搭建前端监控系统(一)——web探针sdk
  18. qmail 相关问题
  19. 使用cn2an实现中文数字与阿拉伯数字的相互转换
  20. 华大学习笔记--GPIO配置

热门文章

  1. 阿里云 Aliplayer高级功能介绍(九):自动播放体验 1
  2. Centos7 安装 net - tools
  3. Echarts柱状图3d立体效果
  4. 【论文笔记】Fast and Furious: Real Time End-to-End 3D Detection, Tracking and Motion Forecasting
  5. 建立war的maven工程pom文件报错
  6. 奇才获860万美元伤病交易特例 解球队燃眉之急
  7. win10网络邻居找不到自己计算机,技术员解决win10系统找不到网上邻居的具体办法...
  8. 蚂蚁金服11.11:支付宝和蚂蚁花呗的技术架构及实践--------阅读
  9. Vue的elementUI实现自定义主题(三)-- 动态主题
  10. scss 动态更换主题样式