【愚公系列】《人人都是AI程序员》006-前端设计与AI实现(精通Figma-从第一块画布到开发者交付)

举报
愚公搬代码 发表于 2026/03/26 16:02:25 2026/03/26
【摘要】 💎【行业认证·权威头衔】✔ 华为云天团核心成员:特约编辑/云享专家/开发者专家/产品云测专家✔ 开发者社区全满贯:CSDN博客&商业化双料专家/阿里云签约作者/腾讯云内容共创官/掘金&亚马逊&51CTO顶级博主✔ 技术生态共建先锋:横跨鸿蒙、云计算、AI等前沿领域的技术布道者🏆【荣誉殿堂】🎖 连续三年蝉联"华为云十佳博主"(2022-2024)🎖 双冠加冕CSDN"年度博客之星TOP...

💎【行业认证·权威头衔】
✔ 华为云天团核心成员:特约编辑/云享专家/开发者专家/产品云测专家
✔ 开发者社区全满贯:CSDN博客&商业化双料专家/阿里云签约作者/腾讯云内容共创官/掘金&亚马逊&51CTO顶级博主
✔ 技术生态共建先锋:横跨鸿蒙、云计算、AI等前沿领域的技术布道者

🏆【荣誉殿堂】
🎖 连续三年蝉联"华为云十佳博主"(2022-2024)
🎖 双冠加冕CSDN"年度博客之星TOP2"(2022&2023)
🎖 十余个技术社区年度杰出贡献奖得主

📚【知识宝库】
覆盖全栈技术矩阵:
◾ 编程语言:.NET/Java/Python/Go/Node…
◾ 移动生态:HarmonyOS/iOS/Android/小程序
◾ 前沿领域:物联网/网络安全/大数据/AI/元宇宙
◾ 游戏开发:Unity3D引擎深度解析

🚀前言

本系列你将亲手见证,一个模糊的想法如何在AI的协助下,一步步生长为一个精美绝伦、功能完备的用户界面。

从Trickle的“魔法画布”到v0的“智能导演”,从Figma的专业设计工具到TRAE SOLO的自主创作模式-这些绝非冰冷的工具,而是你的创意合伙人。它们将帮你跨越那道曾经看似不可逾越的鸿沟:从“这个想法很棒”到“这个产品真美”。

结束时,你不仅会收获一个完整的网站,更会拥有一种全新的自信:原来,创造美感竟如此触手可及。

🚀一、精通Figma-从第一块画布到开发者交付

设想一下,你在建造一栋房子。在动工前,你需要一张清晰详尽的蓝图,让建筑师、工程师和施工队都能准确理解你的构想。在数字世界中,Figma这个强大、易上手的在线协作设计工具,就是这张“蓝图”的诞生地。

在众多设计工具中,Figma之所以能脱颖而出,成为Google、微软等大公司广泛使用的行业标杆工具,核心源于以下三大突出优势。

  • 无缝协作:这是Figma最核心的优势。你可以邀请团队成员、产品经理、开发者甚至客户访问同一个设计文件,实时看到彼此的光标,还能直接在画布、特定框架或图层上留言讨论、回复反馈。这种透明高效的沟通方式,彻底告别了来回发送截图和文件的低效信息同步模式。
  • 一体化的工作流程:过去,设计师可能需要用工具A画线框图,换工具B做高保真视觉稿,再用工具C制作可交互原型。Figma将这一切整合到一起,从最初构思、设计界面,到制作可点击的原型,再到最终交付给开发者,整个流程都可以在一个平台完成,极大提升了工作效率。
  • 对初学者友好:尽管Figma的功能强大,但其界面却十分直观,学习曲线也非常平缓。它还有一个功能完备的免费版本,足以满足我们的学习需求,让新手无须额外成本就能轻松入门。

在本节中,我们将从一块空白的画布开始,亲手构建一个灵活动态的界面,然后为它注入生命,制作可点击的交互原型,最终学会如何将这份凝聚心血的设计稿优雅地交付给开发者或AI。

这趟旅程不需要任何设计经验。学完本节后,你将掌握一套强大的技能,足以将脑海中的任何创意变为现实。

🔎1.现代UI设计基础

在深入探索Figma的强大功能之前,我们必须先打下坚实的基础。本节的目标是建立一个正确的“心智模型”——我们不仅是学习点击按钮,更要理解Figma设计理念背后的“为什么”,这将让你在后续的学习中事半功倍。

🦋1. Figma 界面导览与核心思维

第一次打开Figma时看到满屏的面板和工具,感到不知所措是正常的。我们可以把它拆解成4个简单明了的核心区域(见图2-17),在理解了它们各自的职责后,一切都会变得清晰起来。

图2-17 Figma界面核心区域示意图
在这里插入图片描述

  • 画布(你的无限工作区域):位于界面正中央的巨大区域,如同一张无限大的数字画纸。你所有的设计,无论是手机屏幕、网页、按钮还是图标,都将在这里诞生。你可以向任意方向自由滚动,将不同设计稿并排摆放,方便对比和构思。
  • 工具栏(你的核心工具箱):通常位于界面底部,存放着最常用的工具。我们初期会重点关注移动工具、画框工具、形状工具(如矩形R、圆形O)和文本工具等核心工具。
  • 图层面板(你的内容目录):位于界面左侧,如同一本书的目录,清晰展示了设计文件中的所有元素——画框、组、文本、图标等,直观反映了设计的层级和结构。从一开始养成良好的图层命名习惯,是专业设计师的必备素养。
  • 属性面板(你的核心属性调整区):位于界面右侧,是Figma最智能的部分。这个面板具备“情境感知”能力,其内容会根据你在画布上选择的元素而变化:选中矩形,会显示颜色、边框、圆角等设置;选中文字,则会显示字体、大小、行高等属性。所有微调和精修都在这里完成。

现在,让我们聚焦本节最重要的概念:框架优先思维。在现代UI设计中,几乎所有元素都存在于一个容器之中,而Figma中最核心、最强大的容器就是框架

对于初学者,尤其是具有Photoshop等传统图形设计软件使用经验的人来说,很容易混淆框架、组和形状。理解三者的区别,是掌握Figma的关键第一步。

  • 形状:最基础的构建模块,比如用工具栏中的工具画出的矩形、圆形,是纯粹的矢量图形,堪称构成界面的“原子”。
  • :一种简单的捆绑方式,就像把一堆散乱的文件放进一个文件夹。组的大小完全由内部元素决定,移动或缩放内部元素时,组的边界也会随之改变。在UI设计领域,组的功能非常有限。
  • 框架:UI设计的基础单元,可以理解为“智能容器”或“画板”。与组不同,框架拥有独立的自定义尺寸,更具备组没有的“超能力”——约束(Constraint)能定义内部元素在框架缩放时的响应规则;内容裁剪(Clip Content)可自动隐藏超出边界的内容。框架是实现自动布局(Auto Layout)和创建组件的共同基石。

我们之所以强调“框架优先”,是因为这种思维从根本上将静态的平面设计与动态的界面设计区分开来。UI设计不是绘制固定图片,而是构建能适应不同屏幕尺寸和内容的灵活系统。组是被动地适应内容,而框架是“智能”容器,能主动管理内容的行为。社区中的资深设计师几乎一致推崇“永远用框架,绝少用组”的理念,正是因为它更贴近现代Web开发中基于容器的构建逻辑(例如HTML中的<div>元素)。

为了让你快速掌握框架与组的核心差异,表2-2对其进行了整理。

表2-2 框架与组的核心差异

特性 框架
尺寸行为 拥有独立、可自定义的尺寸,不受内容影响 尺寸由内部所有元素的边界决定,随内容变化
内容裁剪 可开启“内容裁剪”功能,隐藏超出边界的内容 无法裁剪内容,所有内容始终可见
约束 内部元素可设置约束,定义缩放时的相对位置和大小 无约束的概念,缩放组会等比缩放所有内容
自动布局 是应用自动布局的唯一载体 不支持自动布局

有关框架和组的使用建议如下:

  • 框架是UI设计的基础单元,适用于所有需要精确控制尺寸、实现响应式布局或动态承载内容的场景,小到按钮,大到整个页面都可使用。
  • 仅用于临时操作,比如快速捆绑图标的多个矢量路径以便移动或缩放,处理完后通常需要放入框架中进一步设计。

理论讲完了,让我们立刻动手,通过一个快速的实战来巩固刚刚学到的知识。

🦋2. 五分钟实战:创建一套自定义图标

本实战的目标是在五分钟内创建几个简单的图标,让你亲身体验框架的容器作用、形状工具的灵活用法,以及布尔运算的强大力量。

  1. 创建图标容器
    我们不直接在画布上画图,而是先按下F键,在画布上创建一个24×24像素的框架,用作图标容器。在左侧的图层面板中,将它命名为icon/camera,如图2-18所示。这个24×24像素的框架就是我们图标的标准“画板”,能确保所有图标尺寸统一、规范。

    图2-18 创建24×24框架并命名
    在这里插入图片描述

  2. 绘制基础形状
    在刚创建的框架内部,按下R键绘制一个正方形作为相机机身,调整圆角让轮廓看起来更柔和。接着按下O键,画一个大圆作为镜头,再画一个小圆作为闪光灯,最终结果如图2-19所示。

    图2-19 绘制相机的基础形状
    在这里插入图片描述

  3. 运用布尔运算
    现在,这3个形状(不含框架)是分离的。按住Shift键同时选中这3个形状,在右侧属性面板上方会出现布尔运算图标组。点击下拉箭头,选择Subtract(减去),如图2-20所示。两个圆形就像饼干模具一样,从正方形上“挖”出镂空效果,最终形成单一的相机形状,如图2-21所示。布尔运算为非破坏性操作,后续仍可调整原始图层,兼具灵活性与效率。

    图2-20 选择布尔运算“减去”
    在这里插入图片描述

    图2-21 应用布尔运算后的相机形状
    在这里插入图片描述

  4. 扁平化与居中
    选中生成的复杂形状,按下Cmd/Ctrl+E组合键执行扁平化(Flatten),将其合并为一个纯粹的矢量路径,确保缩放时不会出现变形。然后,使用右侧属性面板顶部的对齐工具,将这个形状在24×24像素的框架内水平、垂直居中,如图2-22所示。

    图2-22 居中形状
    在这里插入图片描述

    最后在左侧的图层面板,确保框架名为icon/camera,内部矢量图形可以简单命名为Vector,如图2-23所示。养成规范的命名习惯是高效协作与后期维护的基础。

    图2-23 图层面板中的命名
    在这里插入图片描述

    下面挑战一下自己!重复以上步骤,再创建两个图标。比如,用两个圆形和一个正方形制作一个“用户”图标(icon/user),或者用多个旋转的正方形制作一个“设置”图标(icon/settings)。

完成图标的创建后,接下来需要为整个设计项目定义统一的视觉规范。

🦋3. 建立视觉语言

如果说框架是设计的骨架,那么颜色、文字和网格就是设计的血肉和灵魂。优秀的设计之所以和谐统一,核心在于遵循一套内在的“视觉语言”。在Figma中,我们通过创建样式(Style)和布局网格(Layout Grid)来定义并落地这套语言。

☀️样式

样式是对设计中重复出现的视觉属性(如颜色、文字排版)的标准化定义,通过预设固定规则,既能确保同类元素在不同场景下保持一致,又能大幅简化后期修改成本。Figma的样式分为颜色样式和文本样式两类。

  • 颜色样式是统一管理设计色彩体系的核心工具,你可以将一个特定的颜色值保存为可复用的样式,并赋予color/primary/blue这样的语义化名称。比如,设计中使用的品牌主色调,后续若需调整,我们无须逐一修改所有应用该色调的元素,只需编辑这一个颜色样式,所有关联元素的颜色就会瞬间同步更新,高效且不易出错。
  • 文本样式则专注于统一管理文字排版属性,可保存字体、字重、字号、行高等完整排版规则。值得注意的是,它不包含颜色属性——这一设计让文本样式和颜色样式能够独立开来,自由组合。在使用文本样式时,你可以创建typography/h1(一级标题)、typography/body(正文)等样式,搭配不同颜色样式,满足多样化的设计需求,同时保证全页面文字排版的规范统一。

☀️布局网格

布局网格是为设计注入秩序的“隐形脚手架”,能帮助你精准对齐元素,保持间距一致性,让页面看起来更专业规整。

Figma提供了3种类型的网格:

  • 均匀网格:由等大的正方形构成,适用于图标设计或在整个设计中强制执行一个基础的间距单位(如行业通用的8pt网格系统)。
  • 列网格:网页和移动应用设计中的常用类型,可自定义列数、列间距和内容距离框架边缘的间距。
  • 行网格:水平方向的参考线,通常与列网格结合使用,形成更精细的模块化布局。

创建样式和布局网格的过程,本质上是“设计决策具象化”的过程。当你将一个十六进制色值保存为color/brand/primary时,就是在明确“这是我们的主品牌色”——这正是“设计令牌”(Design Token)思想的雏形:将颜色、字号等设计属性从具体数值中抽象出来,赋予语义化名称,为设计系统的规模化应用打下基础。

现在,让我们把刚刚学到的样式和布局网格知识付诸实践。

🦋4. 十五分钟实战:设计一个基础样式指南

我们将创建一个所有专业项目都必不可少的部分——样式指南,为后续设计提供统一规范。

  1. 创建“基础规范”页面
    在Figma文件的左上角,点击页面名称旁的下拉箭头,新建页面并命名为“基础规范”,如图2-24所示。将设计系统的基础元素集中在一个专门的页面进行文档化,是一种非常专业且高效的工作习惯。如果使用的是免费版(一个项目只能有一个页面),可将当前页面重命名后开展实战。

    图2-24 新建“基础规范”页面
    在这里插入图片描述

  2. 文档化颜色样式
    在新页面上绘制多个矩形,分别填充项目主色、辅助色以及常用的中性灰色。选中其中任意一个主色矩形,在右侧属性面板的“填充”(Fill)区域点击四点图标,再点击“+”号创建一个新的颜色样式,将其命名为color/primary。用同样的方法,为其他颜色创建color/secondarycolor/neutral/900等样式。在每个颜色矩形旁,用文本工具标注样式的名称和色值,方便查阅与使用,如图2-25和图2-26所示。

    图2-25 创建颜色样式
    在这里插入图片描述

    图2-26 文档化的颜色样式示例
    在这里插入图片描述

  3. 文档化字体
    创建多个文本元素,分别输入“一级标题(Heading 1)”“二级标题(Heading 2)”和“正文文本(Body Text)”,并为其设置理想的样式(例如,H1: Inter Bold 32px, Body: Inter Regular 16px)。随后为每种文本创建对应的文本样式,命名为typography/h1typography/h2typography/body,如图2-27和图2-28所示。

    图2-27 创建文本样式
    在这里插入图片描述

    图2-28 文档化的文本样式示例
    在这里插入图片描述

  4. 文档化网格
    使用快捷键F创建3个框架,分别对应桌面(Desktop)、平板(Tablet)和移动设备(Mobile)的典型屏幕尺寸,并为其应用响应式列网格。

    接下来设置这3个框架的具体参数:

    • 桌面框架:选中桌面框架,在右侧的Design选项卡中找到Layout区域,将Dimensions下面的W(宽度)字段设置为1440px。然后找到Layout guide区域,单击号,在弹出的面板中,将Grid设置为Columns,然后将Count(列数)设置为12,Type(类型)设置为Stretch(拉伸),Margin(边距)设置为144px,Gutter(沟槽)设置为24px
    • 平板框架:宽度768px,8列,Type为Stretch,Margin为32px,Gutter为16px
    • 移动设备框架:宽度375px,4列,Type为Stretch,Margin为16px,Gutter为16px

    选中桌面框架,将其网格保存为布局网格样式,命名为grid/desktop-12-col,如图2-29和图2-30所示。

    图2-29 设置列网格参数
    在这里插入图片描述

    图2-30 保存为布局网格样式
    在这里插入图片描述

完成这个练习后,你将拥有项目的“单一事实来源”。在后续的设计中,可直接从这个样式指南中取用规范样式,确保整个项目视觉风格的高度一致性。

🔎2.构建可扩展的动态界面

掌握基础知识之后,我们将进入Figma最激动人心的领域。我们将学会如何让设计“活”起来,从静态的像素排列转变为能够自动适配内容、响应变化的智能组件。本节部分内容为进阶技巧,读者可根据自身情况选择性地学习。

🦋1. 自动布局的威力

如果说Figma有一项功能堪称核心,那无疑是自动布局。它的功能相当强大,能帮你打造出与真实网页、应用一致的动态效果,布局会随内容增减、文本长度自动适配调整。

启用自动布局的方式很简单,只需选中一个或多个元素,然后按下Shift+A组合键,Figma会立即用开启了自动布局的框架将它们包裹起来。

启用后,在右侧的Design标签下会有一个Auto layout区域,可在该区域中掌控这个“智能容器”的行为:

  • 排列方向(Flow):决定内部元素是垂直堆叠、水平排列,还是在空间不足时自动换行(Wrap)。
  • 间距(Gap):定义容器内元素之间的距离,可设置为固定值,也可以设为Auto(让元素自动撑开以填满可用空间)。
  • 内边距(Padding):定义了容器内部边缘与内容之间的空白区域。

☀️三种核心尺寸调整行为

这是理解自动布局的精髓。自动布局框架中的任何元素,其宽度和高度均可分别设置以下三种行为:

  • 适应内容(Hug contents):容器的尺寸由其内部内容决定,会“紧紧包裹”内容(加上内边距)。这非常适合按钮、标签等需要根据文字长度自适应的元素。
  • 填充容器(Fill container):元素会主动伸展,以填满父容器的所有可用空间。这是构建响应式布局的关键,常用于输入框、卡片内的文本区域等需要拉伸的元素。
  • 固定宽度/高度(Fixed width/height):元素的尺寸是固定的,不受内容和容器大小变化的影响。这通常适用于图标、头像等尺寸必须固定的元素。

自动布局的真正威力在于嵌套。通过层层嵌套并组合这三种尺寸调整行为,可以构建出任何复杂、完全响应式的界面。

接下来,我们将通过实战练习,亲身感受自动布局的魔力。

🦋2. 十五分钟实战:构建响应式卡片与导航栏

我们先从“响应式产品卡片”的构建开始,具体步骤如下:

  1. 准备素材。创建一个矩形作为图片占位符(例如300×180px),再创建一个“产品标题”文本层和一个“产品描述”文本层,如图2-31所示。

    图2-31 卡片所需的基础素材
    在这里插入图片描述

  2. 嵌套自动布局。选中上面创建的两个文本层,按下Shift+A组合键,将它们包裹在一个垂直方向的自动布局框架中,命名为Text Content,并设置间距为8px,如图2-32所示。

    图2-32 将文本层放入自动布局框架
    在这里插入图片描述

  3. 创建卡片框架。选中Text Content框架和图片占位符,再次按下Shift+A组合键,将它们包裹在一个新的垂直自动布局框架中,命名为Card,设置间距为16px,内边距为16px。最后,为Card框架添加白色填充和圆角,使其呈现卡片形态,如图2-33所示。

    图2-33 完成卡片框架
    在这里插入图片描述

  4. 设定响应规则(关键步骤)。选中Card框架,在属性面板中将其宽度设置为“固定”;接着按住Cmd/Ctrl键点击选中内部的图片占位符和两个文本层,将它们的宽度尺寸行为全部设置为“填充容器”(Fill container),如图2-34所示。

    图2-34 设置内部元素的尺寸行为为“填充容器”
    在这里插入图片描述

  5. 响应式测试。尝试拖动Card框架的右边缘来调整它的宽度,你会发现内部的图片和文字会自动拉伸、换行,完美地适配了新的宽度。

接下来创建“响应式导航栏”,具体步骤如下:

  1. 创建菜单项。创建“首页”“功能”“产品”“关于”等文本层。

  2. 应用自动布局。选中所有文本层,按下Shift+A组合键,将它们包裹在一个水平方向的自动布局框架中,命名为Navbar,设置间距为32px,内边距为16px,如图2-35所示。

    图2-35 创建导航栏自动布局框架
    在这里插入图片描述

  3. 感受动态调整Navbar框架的宽度默认为“适应内容”(Hug contents)。双击其中一个菜单项,将“产品”修改为“我们引以为傲的产品系列”,会看到整个导航栏的宽度自动增加以容纳更长的文本,并且所有菜单项之间的间距保持不变。

在掌握了自动布局后,我们可以学习组件化的概念,进一步提升设计效率。

🦋3. 组件、变体与属性(可选学习)

如果需要重复设计同一个元素(如按钮),那么组件将成为你最好的朋友。组件的核心思想是“一次创建,随处复用”,而要充分发挥其高效价值,还需要掌握与之配套的变体和组件属性——三者共同构成了Figma组件化设计的核心体系,具体可分为3个核心层面:

  • 组件(Component):可以将任意设计元素转换为主组件(Main Component)。之后,可以在设计稿的任意位置使用它的实例(Instance)。当修改主组件时,所有实例都会同步更新。
  • 变体(Variant):当组件有多种状态或样式(如按钮的默认、悬停、禁用状态)时,无须创建多个独立组件,可通过变体将它们组织在“组件集”(Component Set)中统一管理。
  • 组件属性(Component Property):这是让组件更灵活和强大的关键,是添加到主组件上的“控制器”。当使用者在设计稿中添加主组件的实例后,可直接在右侧属性面板中自定义该实例的部分参数,无须修改主组件本身。组件属性主要有如下3种类型:
    • 布尔(Boolean)属性:一个简单的“是/否”开关,用于控制图层的可见性(如是否显示图标)。
    • 文本(Text)属性:允许使用者直接在属性面板中修改组件内部的文本内容。
    • 实例交换(Instance Swap)属性:允许使用者将组件内部嵌套的组件实例替换为另一个(如替换按钮中的图标)。

在实际设计中,很多初学者会困惑:“变体和组件属性都能让组件更灵活,到底该什么时候用变体,什么时候用属性?”一个简单的判断法则是,变体用于处理组件在视觉风格、交互状态上的预设固定差异,属性用于处理组件的内容变化或可选元素的显隐,供使用者自定义,具体如表2-3所示。

表2-3 组件属性-何时使用何种属性

属性类型 它所回答的问题 简单示例
布尔 组件中的某个元素需要显示或隐藏吗? 在按钮组件中添加名为Show Icon的布尔属性,通过开关控制图标的显示与隐藏
文本 组件中的文字需要用户修改吗? 为按钮文本层添加名为Label的文本属性,让使用者在属性面板中直接修改按钮文字
实例交换 组件中的图标或子组件需要替换吗? 为按钮图标创建名为Icon的实例交换属性,允许使用者从图标库中选择替换图标

接下来,我们通过一个综合性的练习,创建一个强大且灵活的按钮组件。

🦋4. 十五分钟实战:构建一个全面的按钮组件集(可选学习)

这个练习将帮助你掌握组件系统的核心概念,创建真正实用的设计资产。通过构建包含多种状态和可自定义属性的按钮组件集,你将体验组件化设计的强大威力——一次创建,随处复用,统一修改。

具体实战步骤如下:

  1. 构建基础按钮。创建Button文本层,旁边放置一个图标组件实例(来自2.3.1节的练习)。选中两者,按下Shift+A组合键自动将这两者包裹在一个水平自动布局框架中,调整间距和内边距,为框架添加填充色。
  2. 创建主组件与属性。选中步骤1中做好的整个按钮框架,按下Ctrl/Cmd+Alt+K组合键将其转换为主组件。在右侧Design面板中找到Properties区域,点击右侧的“+”号,为图标图层添加一个布尔属性并命名为Show Icon;为文本图层添加一个文本属性并命名为Label
  3. 添加变体属性。再次点击Properties区域的“+”号,选择“变体”(Variant),将第一个变体属性命名为Style,其值设为Primary
  4. 创建更多变体。点击组件集紫色边框下方的“+”号添加新变体,将这个新变体的填充样式改为描边样式,并把Style属性值改为Secondary
  5. 添加状态变体。选中整个组件集,再次添加一个变体属性并命名为State,默认值为Default。分别为PrimarySecondary样式创建Hover状态的变体:通过鼠标圈选这两个变体,点击右键,复制粘贴两个新的变体,将它们的State属性值改为Hover,并调整其背景色以模拟悬停效果。
  6. 测试按钮组件。从左侧“资产”(Assets)面板中,将按钮组件拖拽到画布上。在右侧的属性面板中,应该能看到用于切换StyleState的下拉菜单、修改Label的文本框,以及控制Show Icon的开关。可自由测试自定义效果。

在这里插入图片描述

理解了组件后,我们再来学习一个更高级的概念——变量

🦋5. 用变量引入设计令牌(可选学习)

如果说“样式”是将一个具体的数值锁定为一个固定的名称,那么变量(Variable)就是它的超级进化版:一个可以根据不同“情境”承载不同值的占位符。这正是实现设计令牌(Design Token)的核心机制。

设计令牌是将设计决策(如“我们的主背景色是什么?”)从具体实现中分离出来,以数据化方式管理的“单一事实来源”,让设计系统更具可维护性。

在Figma中,变量是通过一个专门的“变量”(Variable)面板进行管理的,核心包含3个关键概念:

  • 集合(Collection):用于归类管理变量,例如一个集合存放颜色变量,另一个存放间距变量。
  • 模式(Mode):同一集合中可以配置多套不同值的组合,是实现主题切换(如明暗模式切换)的关键。
  • 别名引用(Aliasing):高级实用技巧,允许一个变量引用另一个变量的值,这进一步提升了系统的关联性和可维护性。

下面的练习将让你体验变量带来的“一键换肤”效果。

🦋6. 十五分钟实战:实现明暗模式的切换(可选学习)

本实战将让你体验变量系统的强大威力——通过一次设置,即可实现整个设计系统的主题切换。

在开始之前,请确保你已经完成了前面的练习(尤其是响应式卡片的创建)。如果还没有完成,可以快速创建一个包含标题、描述文本和按钮的简单卡片作为测试对象。以下是具体的实战步骤:

  1. 创建颜色集合。取消画布上的所有选择,点击右侧边栏的“变量”(Variables),打开变量面板。创建一个新的集合并命名为Theme:Colors
  2. 定义模式。在变量面板中,将默认的模式列标题重命名为Light,然后点击“+”号添加一个新模式并命名为Dark
  3. 创建颜色变量。创建两个核心颜色变量:
    • color/backgroundLight模式设为白色(#FFFFFF),Dark模式设为深灰色(#1E1E1E)。
    • color/textLight模式设为深灰色(#1E1E1E),Dark模式设为白色(#FFFFFF)。
  4. 应用变量。打开前文创建的响应式卡片,为卡片根框架的填充颜色应用color/background变量,为其内部所有文本层的填充颜色应用color/text变量。
  5. 观察切换效果。在画布上创建一个新的顶层框架(例如手机屏幕尺寸),将应用了变量的卡片实例放入该框架中。选中这个顶层框架,在右侧属性面板的“图层”(Layer)区域找到一个变量模式图标,点击将模式从Light切换到Dark,框架内的所有卡片都会自动同步切换为深色主题。

🔎3.从静态设计到交互式产品(可选学习)

至此,我们已经构建出结构规整、样式统一、动态响应的界面元素。本节将介绍如何串联这些静态设计稿,打造出用户可真实点击和体验的交互式产品原型,并最终交付给开发团队。如果感觉难度较大,可以先跳过。

🦋1. 高级原型制作

原型制作能让设计“开口说话”,直观展示用户流程和交互细节。在Figma中,原型制作的核心是建立页面之间的连接关系,并为这些连接定义触发条件和动画效果——从最基础的点击跳转,到带有条件判断的复杂交互,Figma提供了完整的工具链。下面从简单到复杂,逐步了解原型制作的4个关键环节:

  • 基础连接:切换到Figma界面右上角的“原型”(Prototype)标签,选中任意图层或框架,按住并拖动其边缘的蓝色圆形节点,连接到目标框架,即可创建一个基本的交互链接。
  • 触发器与动作:创建连接后,在右侧的“交互”(Interaction)面板可以定义交互的触发器(如点击、拖拽)和动作(如导航到页面、打开浮层)。
  • 智能动画(Smart Animate):一项强大的功能,用于制作平滑的过渡动画。当将两个框架之间的过渡效果设置为Smart Animate后,Figma会在位置、大小、颜色等属性变化时,自动为两个框架中名称相同的图层生成补间动画。
  • 用变量制作有“状态”的原型:借助变量,可以创建出拥有“记忆”和“状态”的真实原型。可以通过交互动作“设置变量值”(Set Variable)来修改变量的数值或状态(如点击按钮让数字变量itemCount加1),还可以为交互添加条件逻辑(if/else判断),实现原型状态的动态切换。

接下来通过一个实战来实践这些功能。

🦋2. 十五分钟实战:构建动态购物车原型

本实战将让你体验变量系统的真正威力——创建能够“记住”用户操作的动态原型。我们将构建一个简单但功能完整的购物车交互,展示如何用变量管理应用状态,具体步骤如下:

  1. 设置变量。打开“变量”(Variables)面板,创建数字(Number)类型的变量,命名为cartItemCount,初始值设为0
  2. 设计界面。在一个框架中,设计一个包含“添加到购物车”按钮的商品卡片。在框架顶部设计一个导航栏,内含一个购物车图标,图标旁放置一个文本层。
  3. 绑定变量。选中购物车图标旁边的文本层,在右侧“设计”(Design)标签的“文本”(Text)区域,点击最右侧的“应用变量”(Apply variable)图标,然后选择cartItemCount变量,文本层会立刻显示为0
  4. 创建交互。切换到“原型”(Prototype)标签,选中“添加到购物车”按钮。
  5. 添加 Set Variable 动作。为按钮创建“点击时”(On Click)的交互,在动作(Action)下拉菜单中选择Set Variable,在Target中选择cartItemCount变量,在Value中输入表达式cartItemCount + 1
  6. 测试原型。点击右上角的“演示”(Present)按钮,进入预览模式。现在,每次点击“添加到购物车”按钮,导航栏中的购物车数字都会实时递增。

完成原型后,最后一步是将设计交付给开发团队。

🦋3. 开发者模式完全指南

开发者模式(Dev Mode)是Figma官方推出的专属工作区间,核心目标是弥合设计与开发的鸿沟。作为设计师,了解开发者在该模式下的可见信息,可以帮助我们更精准地准备交付文件。

在Figma界面底部的工具栏中,有一个设计/开发模式切换开关(快捷键是Shift+D),单击即可切换至开发者模式。切换后,开发者可以看到如下核心信息:

  • 检查面板:开发者的核心工具。选中任意元素,面板会实时显示其尺寸、颜色、字体等详细属性,并自动生成对应的代码片段(支持CSS、iOS、Android等)。
  • 资源导出:开发者可以快速查看并一键导出标记为“可导出”的所有图标和图片资源。
  • 变更对比:一个非常实用的功能,可以清晰展示当前版本与上一版本的设计差异。
  • 注解:你在设计稿上留下的所有评论和注解,在开发者模式下都会清晰地展示出来。

下面的实战将模拟设计师在项目交付阶段的最后工作。

🦋4. 十五分钟实战:为开发者交付设计文件

本实战将模拟设计师在项目交付阶段的最后工作,确保交付物清晰、完整、无歧义,具体步骤如下:

  1. 最终检查与清理。交付前,最后一次审视你的文件,确保所有图层都已合理命名、有序组织,删除所有凌乱的草稿或无用的页面。
  2. 标记导出项。系统检查所有需要开发者使用的资源(如图标、图片、Logo等),将其选中后在右侧“设计”面板底部的“导出”(Export)区域点击“+”号,将图标设置为SVG格式,将位图(如照片)设置PNG或JPG格式。
  3. 标记“准备好开发”。按Shift+D组合键切换到开发者模式,选中已最终确认、可以进入开发阶段的顶层框架,点击顶部工具栏出现的“标记为准备好开发”(Mark as ready for dev)按钮,为框架标注明确的状态,方便开发者快速定位。
  4. 添加关键注解。对于一些静态设计无法完整表达的复杂交互,使用评论工具在相应位置添加注解。例如“此处的卡片列表在加载时需有淡入效果,动画时长300ms”。
  5. 分享交付链接。点击右上角的“分享”(Share)按钮生成链接,确保给予开发团队“可以查看”(can view)的权限。将链接发送给团队后,你的交付工作即告完成。

最后,我们来了解如何利用自动化工具,将设计稿直接转换为代码。

🦋5. 实战工作坊:从Figma到 Tailwind CSS 代码

这里将带你领略设计到代码(Design-to-Code)自动化的前沿领域。这些工具并非要取代开发者,而是作为高效加速器,将高质量的设计稿转化为优质的前端基础代码。这里可以关注两个主要的技巧:

☀️实现设计到代码的自动化转换

在现代的前端开发中,设计到代码的自动化转换已成为效率提升的重要手段。而自动化工具的输出质量,直接取决于输入设计稿的质量。要获得高质量的代码,Figma文件必须遵循以下结构化原则:

  • 语义化命名:图层名称应反映其内容和功能。
  • 全面使用自动布局:这会直接映射到CSS Flexbox或网格布局。
  • 组件化设计:将可复用的元素创建为Figma组件。
  • 规范使用变量/样式:工具可将其转化为CSS变量或Tailwind配置文件。

☀️借助第三方插件实现自动化转换

市面上已经涌现出许多强大的第三方插件,它们能够智能分析Figma设计稿并自动生成高质量的前端代码。以下是两款广受欢迎的工具:

  • Anima:一款工具插件,可直接将Figma设计转换为React、Vue或HTML代码,且支持Tailwind CSS,为开发者提供了灵活的技术栈选择。
  • Builder:可以使用这款AI驱动工具的核心功能Visual Copilot,将Figma设计一键转换为多种前端框架和样式库的代码,适合需要多框架支持的团队。

🦋6. 十五分钟实战:从Figma设计到React+Tailwind CSS代码

下面通过一个完整的实战,演示如何将登录页面的设计稿转换为可用的React+Tailwind CSS代码。本实战将使用Anima工具插件完成整个流程。

  1. 设计登录页面英雄区域。在Figma中,运用本章学到的所有技巧——自动布局、组件、变量——精心设计一个简洁美观的登录页面英雄区域。
  2. 安装Anima插件。在Figma的“资源”(Resources)菜单中搜索Anima并安装。
  3. 配置并导出。运行Anima插件,在插件窗口中将代码输出设置为“框架(Framework)→ React,样式(Styling)→ Tailwind CSS”。
  4. 选择并生成。在画布上选中英雄区域的顶层框架,Anima插件会实时分析设计并生成代码预览。
  5. 审查与使用。可直接在插件中复制生成的JSX组件代码和Tailwind CSS类名。这些代码虽然需要开发者进行少量微调和逻辑集成,但已完美地将视觉设计转化为代码,为开发工作提供了一个极佳的起点。

🔎4.小结

回顾本节,我们从一张空白的画布出发,不仅学习了Figma的基础操作,还建立了一套现代化的UI设计思维。

我们理解了“框架优先”的核心理念,学会了使用自动布局和组件构建灵活、可复用的设计系统;探索了变量的强大能力,通过设计令牌和模式轻松实现了明暗主题的切换;为静态的设计注入了活力,制作出能响应用户操作的动态原型;最后跨越设计与开发的边界,学会了使用开发者模式和自动化工具,将创意高效地转化为真实的产品代码。

如今你掌握的,是一整套从概念到实现、从设计到协作的专业工作流程。

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。