Figma 响应式设计

Finder / 2025-11-18


一、 适配与响应逻辑的底层基础 #

Figma 的相关功能(约束和自动布局)是根据真实的适配方案和开发方法制定出来的。因此,设计师需要理解这些底层逻辑才能高效使用这些功能。

二、 APP 中的屏幕适配(Adaptation) #

1. 适配的定义与目的 #

  • 定义: 适配是指软件需要在不同大小和分辨率的手机屏幕上正常运行正常显示出来。
  • 核心目标: 屏幕变大的目标是让显示的内容变多,而不是单纯地把里面的东西等比例放大
    • 例如,当区域变大后,可以显示更多的文本量。
    • 在更大的屏幕上,本可能显示一行的内容可以显示两行,甚至两行半的状态,并且右边有更多空间显示其他内容。

2. 适配逻辑的制定(设计师的职责) #

  • 实现方式: 适配是通过单独设置画板中每个元素基于其父级元素的适配逻辑来实现的。
  • 制定者: 真正的适配方案是设计师出的,绝不是前端出的。设计师需要保证界面在落地后,在不同环境中能呈现预期的效果
  • 沟通: 设计师需要和前端商讨适配方案的合理性开发的可行性

3. 实际适配案例分析 #

借助上图,说明一下元素如何响应画板尺寸的变化:

  • 顶栏(Top Bar): 在适配过程中,顶栏的高度不变。左边的图标基于左对齐,右边的内容基于右对齐,它们之间的间距保持一致。只有搜索框的长度(即中间的空白空间)在不停地变大和变长

  • 快速入口(两个大按钮):

    • 页边距和元素之间的间距(例如 16 和 12 像素)保持固定不变
    • 元素本身的宽度自动分配,随着屏幕变大而变宽。
    • 内部的文字左对齐,图片右对齐,它们之间的间隙变大,但没有做比例缩放。
  • 快速入口(小图标组): 保持元素的大小不变,但让元素之间的间距变大

    • 这表明每个元素可以根据画板变动定义单独的适配逻辑,而不是用一个逻辑套用到界面的所有元素上。
  • 外部模块(如新课预约模块): 左右页边距保持一致。外部大模块变大,但模块内部的封面图形保持固定大小不变。右侧的文本选项则跟着外部模块一起变大,空间越来越大。

  • 知识库大模块: 整体变宽。内部右侧的“学习”元素尺寸保持一致并右对齐。左侧的文本会随着区域变宽而显示更多的内容,而不是只显示点点点省略号。

  • 底部导航栏: 通常是均分,按比例进行位移。

三、 网页设计中的响应式(Responsive Design) #

1. 移动端适配与网页响应式的区别 #

  • 移动端适配(Adaptation): 屏幕大小差异相对较小,比例变化不大。
  • 网页响应式(Responsive): 跨度非常大,可以从手机尺寸放大到 4K 屏或 5K 屏(如 34 寸),跨度可达七八倍、十几倍甚至二十倍。

2. 两种主要的适配解决方案 #

解决方案定义核心特点适用场景
自适应(Adaptive)开发出多套网页(多套代码),以适配不同的设备和屏幕。每套代码都是为特定设备(如移动端、电脑端)单独准备的。大型、复杂的网站(如京东、淘宝),因为响应式开发成本过高。
响应式(Responsive)用一套代码去适配不同的视口区域。当用户拖动浏览器窗口到不同宽度时,会展示出不同的结果。简单、展示类的网站,如企业官网或广告营销网站。

3. 响应式的两个关键要点 #

响应式设计包含两个关键要点:栅格(Grid)断点(Breakpoint)

  • 栅格(Grid):
    • 将页面的可视区域分成若干个列。
    • 在响应式环境中,栅格中的每一列可以作为宽度单位进行设置。
    • 元素的大小缩放是跟着栅格一起变动的,而不是元素自己变动。
  • 断点(Breakpoint):
    • 指在不同的宽度环境里,可以去指定不同的卡片宽度值
    • 通过断点,可以将浏览器宽度定成不同的区间,每个区间应用一套单独的元素罗列规则。
    • 例如,在小屏幕下(小于 1200 像素),一个组件可能占据 6 栅格列,一行只能显示 2 个;而在更大空间(1200 到 1400 之间),可以将其宽度定义为 4 列,一行显示 3 个。

四、 Figma 对适配和响应逻辑的模拟 #

  • Figma 提供了接近前端适配逻辑的功能,如布局约束功能(Layout Constraints)自动布局功能(Auto Layout)
  • 自动布局被认为是 Figma 真正的“利器”。
  • 局限性: Figma 提供的功能是固定定死的方法,它永不如编程灵活。Figma 只能在框架内实现功能,无法完美复现真实的、复杂的适配场景。
  • 定位: Figma 只是进行一些简单的模拟,这种模拟是有上限的。
#Figma学习指南 #学习笔记

最后一次修改于 2025-11-18