拓冰建站拓冰建站
首页 / 资讯中心 / 正文

UI设计切图规范:提升团队协作效率与产品还原度的关键

1. 项目概述为什么我们需要一套切图规范在任何一个UI设计项目里从设计稿到最终上线的产品中间有一个环节至关重要却常常被忽视或草率处理那就是“切图”。你可能有过这样的经历设计师精心打磨的界面到了开发手里还原度大打折扣图标模糊、间距错位、点击区域不对甚至因为一个按钮的多种状态缺失导致前端反复找你确认。这背后的核心原因往往不是设计能力或开发水平的问题而是缺乏一套清晰、统一、可执行的UI设计切图规范。简单来说切图规范就是设计师与工程师之间的一份“交付契约”。它规定了设计稿中哪些元素需要被提取为图片资源、以何种格式和尺寸输出、如何命名、如何标注间距以及如何处理适配和交互状态。没有这份契约沟通成本会急剧上升项目进度和质量都难以保障。尤其是在如今多端适配iOS、Android、Web、小程序和敏捷开发的背景下一套好的切图规范能像润滑剂一样让设计与开发的协作流程顺畅无比。我经历过太多因为切图不规范而引发的“血案”一个简单的列表项因为切图时没有考虑拉伸区域在安卓不同尺寸屏幕上直接变形一个带阴影的按钮开发直接用了带背景的PNG导致无法动态修改文字图标资源命名混乱开发在成百上千个文件里大海捞针。所以今天我想系统性地梳理一下一个资深UI设计师在实际项目中应该如何建立并执行一套高效、严谨的切图规范。这不仅关乎效率更关乎最终产品的品质和团队的专业性。2. 核心原则与前期准备规范不是限制是提效工具在动手切图之前我们必须明确几个核心原则。规范的目的不是为了给设计师套上枷锁而是为了提升整个产品研发链路的效率和一致性。2.1 原则一以开发思维进行设计这是最重要的一条。设计师不能只停留在视觉美观层面必须理解前端如何实现你的设计。例如一个圆角矩形按钮是应该切整个按钮的图还是只提供圆角半径和纯色背景由代码实现后者显然更灵活支持动态换色、修改文字。一个渐变色背景如果面积很大切图会导致文件巨大是否可以用CSS线性渐变实现在设计之初就带着这些思考能从根本上减少不必要的切图工作并赋予产品更好的可维护性和性能。注意与开发团队在项目启动初期就对齐实现方案至关重要。了解他们常用的UI框架如React、Vue、Flutter和组件库知道哪些效果可以轻松用代码实现哪些必须依赖图片资源。2.2 原则二一致性高于一切规范的生命力在于执行的一致性。这包括命名的一致性、尺寸体系的一致性、输出格式的一致性。一个项目中所有图标的命名逻辑应该相同所有可拉伸元素的切法应该相同。这样开发同学在接入资源时才能形成肌肉记忆减少出错概率。例如如果你决定图标使用icon_功能_状态2x.png的命名方式那么整个项目的所有图标都必须遵守不能出现btn_close.png和icon_search_normal2x.png混用的情况。2.3 原则三为适配而生如今的设计必须考虑从最小的手机屏幕到最大的平板甚至桌面端。切图规范必须包含完整的适配策略。这不仅仅是提供1x,2x,3x倍图那么简单更需要考虑等比缩放元素哪些图标或图片在放大时应该保持清晰需要提供多套倍图或矢量格式可拉伸元素哪些背景、边框、装饰条是可以水平或垂直拉伸而不失真的如何定义拉伸区域内容布局哪些间距和尺寸是相对单位如百分比、rem哪些是绝对像素需要在标注中明确。2.4 工具准备选对工具事半功倍工欲善其事必先利其器。现代UI设计工具已经深度整合了切图和标注功能。设计工具Figma、Sketch、Adobe XD 是主流。以 Figma 为例其 Auto Layout自动布局功能能极大地方便开发理解间距关系而内置的 Export 面板和 Inspect 模式对应开发侧的“Dev Mode”是生成切图和查看标注的核心。标注与协作平台蓝湖、Zeplin、Pixso 等。这些平台可以自动生成CSS、Swift、XML等代码片段极大提升交付效率。但请注意平台只是辅助设计师必须理解其生成的逻辑并能检查和修正可能的错误。版本控制意识虽然我们讨论的是切图规范但设计源文件的版本管理同样重要。使用清晰的文件命名和图层结构便于回溯和团队协作。这间接影响了切图资源的可追溯性。3. 切图资源分类与输出标准详解不是设计稿上的每一个像素都需要被切出来。我们需要对UI元素进行科学的分类并为每一类制定明确的输出标准。3.1 资源分类明确什么该切什么不该切我将需要处理的资源分为四大类图标类包括系统图标如返回、关闭、搜索、业务图标如购物车、消息、状态图标如成功、错误、加载。这类资源通常尺寸固定需要高清晰度。图片类包括产品图、运营Banner、用户头像、背景图等。这类资源内容多变尺寸不固定更注重视觉质量和压缩。控件背景类包括按钮、输入框、标签、卡片、导航栏、标签栏的背景。这类资源的核心在于“可拉伸性”通常通过.9.pngAndroid或 SlicingiOS/Web技术实现。动效与特殊效果类包括Lottie动画、CSS可实现的简单动效需提供参数、复杂的粒子效果可能需要序列帧或视频。这类资源需要和开发深度讨论实现方案。3.2 输出格式PNG、JPG、SVG、WebP 如何选择格式选择直接影响最终产品的性能和视觉效果。资源类型推荐格式适用场景与说明图标、透明背景元素PNG-24 / PNG-8PNG-24支持全透明质量无损但文件较大适用于重要小图标。PNG-8支持索引透明可能有锯齿文件小适用于颜色简单的图标。关键技巧在Figma或Sketch导出时可以对比不同格式和压缩等级下的文件大小和视觉效果找到最佳平衡点。纯色、简单形状图标SVG矢量格式无限缩放不失真文件极小是现代Web和移动端开发的首选。对于单色或简单渐变的图标应优先提供SVG格式。开发可以直接将其作为字体图标或XML矢量图使用。照片、复杂渐变色背景JPG有损压缩在视觉损失可控的前提下能获得极小的文件体积。适用于对透明度无要求的图片。导出时质量Quality设置在60%-80%之间通常能在体积和画质间取得良好平衡。Web平台专用WebPGoogle推出的现代格式同时支持有损和无损压缩、透明度且压缩率远高于PNG和JPG。强烈建议在支持WebP的浏览器环境中使用可以显著提升页面加载速度。通常作为PNG/JPG的替代格式提供。Android可拉伸背景.9.pngAndroid独有的“九宫格”拉伸图片格式。通过在图片四边添加1像素宽的黑线来定义可拉伸区域和内容填充区域。这是解决Android多尺寸适配的利器必须掌握。iOS/Web可拉伸背景Slicing切片在设计工具如Figma中通过设置导出框的“Sizing”属性如“Slice”来定义水平和垂直方向的拉伸区域。开发拿到后可以通过代码设置resizableImage(withCapInsets:)(iOS) 或border-image(CSS) 来实现。实操心得一个常见的误区是“一切皆PNG”。对于纯色图标一个几KB的SVG文件比一个几十KB的PNG2x图要好得多。在最近的一个项目中我们将顶部导航栏的整套图标从PNG换为SVG整个资源包的体积减少了70%且在任何高清屏上都锐利无比。3.3 尺寸与倍率一图适配多端的秘密为了在不同像素密度的屏幕上保持清晰我们需要提供同一资源的多种尺寸即“倍图”。iOS以1x(原始尺寸)、2x、3x为主流。例如一个在设计中为24x24pt的图标需要输出24px(1x)、48px(2x)、72px(3x) 三个物理像素尺寸的文件。关键点在Sketch/Figma中画板Artboard应设置为1x逻辑尺寸导出时选择对应的倍率。Android通常使用mdpi(1x)、hdpi(1.5x)、xhdpi(2x)、xxhdpi(3x)、xxxhdpi(4x) 等密度限定符。同样一个24dp的图标需要输出24px(mdpi)、36px(hdpi)、48px(xhdpi) 等。Web情况更复杂。对于响应式网站图标可能使用SVG首选或字体图标。对于必须用位图的图片通常会准备1x和2x两套并通过srcset属性让浏览器根据设备选择加载。我的工作流在设计工具中我会为需要多倍图的元素创建一个组件Component然后利用Figma的“Export”面板一次性添加1x2x3x的导出设置。这样当需要更新图标时只需修改主组件所有倍图都会自动同步更新极大减少了手动操作和出错的可能。4. 命名规范与组织架构让资源一目了然混乱的命名是开发工程师的噩梦也是项目维护的毒药。一套好的命名规范应该做到“见名知意”并且便于工具自动化和检索。4.1 命名公式模块_功能_状态_描述倍率.格式我推荐使用以下层级式命名结构各部分用下划线_连接模块名_元素类型_功能描述_状态_额外描述倍率.格式模块名表示资源所属的功能模块如home首页、user用户中心、product商品。对于小型项目可以省略。元素类型表明这是什么如icon图标、btn按钮、bg背景、img图片、tab标签栏。功能描述核心功能如close关闭、search搜索、submit提交。状态元素的交互或显示状态如normal默认、pressed按下、disabled禁用、selected选中。额外描述可选用于进一步区分如small小尺寸、red红色变体。倍率如2x3x。格式如.png.svg。示例icon_nav_close_normal2x.png导航栏关闭图标默认状态2倍图btn_primary_submit_pressed3x.png主要按钮提交功能按下状态3倍图bg_card_default.9.png卡片默认背景Android九宫格图icon_common_alert.svg通用警告图标矢量格式注意事项坚决避免使用中文、空格和特殊字符除了下划线。命名全部使用小写字母。状态描述要统一整个项目要么都用normal/pressed要么都用default/active不要混用。4.2 文件夹组织逻辑清晰的资源树将资源文件分门别类地放入文件夹是项目管理的基本功。我通常按以下结构组织交付给开发的资源包assets/ ├── icons/ # 所有图标 │ ├── common/ # 通用图标 (如关闭、返回、箭头) │ ├── tabbar/ # 标签栏图标 │ └── feature-a/ # 特定功能A的图标 ├── images/ # 内容图片 │ ├── products/ # 商品图 │ ├── avatars/ # 头像 │ └── banners/ # 运营横幅 ├── backgrounds/ # 背景、纹理、可拉伸元素 │ ├── buttons/ # 按钮背景 │ ├── inputs/ # 输入框背景 │ └── cards/ # 卡片背景 └── lottie/ # Lottie动画JSON文件这种结构让开发能够快速定位资源也便于后续的增量更新和版本管理。在交付时我会提供一个README.md文件简要说明文件夹结构和命名规范。5. 标注与交付把设计意图精准传达切图只是交付物的一部分如何告诉开发“这里该怎么实现”同样重要。这就是标注Specs的工作。5.1 标注的核心内容尺寸、间距、颜色、字体尺寸与间距这是标注的重中之重。标注所有元素的宽高、圆角半径以及元素与元素之间、元素与容器边界的距离。在Figma或蓝湖中可以直接点击元素查看其width、height和与其他元素的distance。颜色标注所有使用的色值包括填充色、边框色、阴影色、渐变色的起止色值。必须提供HEX和RGBA两种格式并注明颜色对应的设计系统变量名如--color-primary方便开发对接全局主题。字体标注字号font size、字重font weight如Regular、Medium、Bold、行高line height、字间距letter spacing。同样需要关联到设计系统的文本样式如text-heading-h1。阴影与模糊标注阴影的X/Y偏移、模糊半径、扩散半径和颜色。对于背景模糊效果需注明模糊类型如背景模糊和数值。可拉伸区域对于.9.png或 Slicing 资源必须在设计稿上清晰图示出可拉伸的区域通常用红线标出并单独说明。5.2 交付流程自动化与人工检查相结合设计稿整理在切图前确保你的设计稿是干净、规范的。所有图层、画板命名清晰分组合理使用组件和样式库。删除所有隐藏的、无用的图层。上传至协作平台将整理好的设计稿上传至蓝湖、Zeplin等平台。平台会自动生成大部分标注和基础切图。人工补充与校验平台不是万能的。你必须人工检查自动标注的间距是否正确有时平台会识别错关联元素所有交互状态如按钮的按下、禁用态是否都创建了画板并正确标注复杂的嵌套组件的间距平台可能无法解析需要手动添加标注。检查自动切图的输出格式和倍率是否符合你的规范。导出切图包对于平台无法完美处理的资源如特定格式的SVG、.9.png需要在设计工具中手动导出并按照前述的文件夹结构进行组织。交付与同步将最终的资源包包含切图文件和设计稿链接通过团队协作工具如Git仓库、内部云盘交付给开发。务必在交付时进行一次简短的同步会议口头解释规范的重点、特殊资源的处理方式并建立反馈渠道。6. 高级技巧与常见问题排查掌握了基础规范后一些高级技巧和“坑点”能让你和团队的协作更上一层楼。6.1 高级技巧提升协作效率的秘诀使用设计令牌Design Tokens将颜色、字体、间距、圆角等视觉属性抽象为命名的变量如$color-primary,$spacing-unit-4。在设计工具Figma Variables和代码中同步这些令牌。这样当需要修改主题色时只需改动一个令牌值设计和代码会自动全局更新从根本上保证一致性。为图标建立矢量组件库将所有图标制作成Figma/Sketch的矢量组件并严格统一画板尺寸如24x24。导出时无论图标内部图形多大都以其画板尺寸为基准输出确保所有图标在代码中占据相同的空间避免对齐问题。处理多端差异iOS和Android在细节上常有不同如状态栏高度、系统图标风格、字体渲染。切图时可以为两端准备略有差异的资源。例如同一个返回图标iOS用形状Android用←形状。在资源命名或文件夹层级上加以区分如assets/ios/,assets/android/。自动化脚本对于重复性的切图导出和命名工作可以探索使用设计工具的插件或脚本如Figma的Plugin API Sketch的Runner进行半自动化处理能节省大量时间。6.2 常见问题排查实录那些年我们踩过的坑即使规范再完善实际协作中还是会遇到各种问题。这里记录几个典型场景和解决方案问题1开发说图标在手机上发虚模糊。排查思路检查倍率确认提供的图片尺寸是否是设计尺寸的整数倍2x, 3x。提供1x图给3x屏肯定会模糊。检查导出设置在Figma/Sketch中导出PNG时是否勾选了“将对象合并为位图”对于复杂矢量图形有时不合并会导致边缘半像素渲染问题从而模糊。尝试勾选此选项后重新导出。检查代码使用方式确认开发是否正确设置了图片的显示尺寸。例如一个48x482x的图在代码中应该显示为24x24pt逻辑点。如果错误地设置为48x48pt相当于被放大了一倍也会模糊。解决方案提供正确倍率的资源并在标注中明确写出该资源的“逻辑尺寸”如24x24pt和“物理尺寸”如48x48px。问题2可拉伸的背景图.9.png或Slicing拉伸后内容区域变形。排查思路检查拉伸区域定义对于.9.png检查四周的1像素黑线是否画在了正确的位置。黑线包围的区域是可拉伸区域黑线之外、内部区域是内容保护区域。如果按钮的文字区域被划入了可拉伸区文字就会被拉宽。检查切片设置在Figma中做Slicing时检查导出框的“Sizing”属性。对于水平拉伸的背景应设置为“Horizontal”对于水平和垂直都可拉伸的应设置为“Slice”。并预览拉伸效果是否正确。解决方案重新制作.9.png或在设计工具中调整切片边界并在交付时附上一张示意图用箭头明确标出可拉伸的方向和内容安全区。问题3资源文件体积过大影响应用加载速度或包体积。排查思路审计资源类型是否大量使用了PNG格式的纯色图标是否使用了未压缩的JPG大图检查图片尺寸提供的图片物理尺寸是否远大于其实际显示尺寸例如一个只在列表中显示为60x60px的头像你却提供了1000x1000px的原图。解决方案格式优化纯色/简单图标转SVG照片类图片使用工具如TinyPNG、ImageOptim进行无损或有损压缩在Web端考虑使用WebP格式。尺寸优化根据图片最大显示尺寸来提供资源。如果用户上传的头像会显示在多个不同大小的位置可以要求后端或CDN服务生成不同尺寸的缩略图而不是前端加载大图再缩放。懒加载对于非首屏图片建议开发实现懒加载技术。问题4深色模式Dark Mode下的资源如何处理现代解决方案对于颜色、背景等应尽量通过设计令牌和代码逻辑实现动态切换而不是切两套图。必须切图的情况如果图标或图片本身的内容而非颜色在深色模式下需要变化则需要提供两套资源。命名上可以加后缀区分如icon_search_light2x.png和icon_search_dark2x.png。并在标注中明确说明其应用场景由开发根据系统主题动态切换。建立并执行一套严密的UI设计切图规范初期可能会觉得有些繁琐但它所带来的团队协作效率提升和产品质量保障是巨大的。这不仅仅是设计师的单方面输出更是与前端、客户端工程师达成的一种默契。规范需要在项目中不断磨合、优化和迭代。每次项目复盘时都可以回顾一下切图环节出现的问题并将其解决方案沉淀到规范文档中。久而久之这套规范就会成为团队最宝贵的资产之一让每个人都能把精力集中在创造更有价值的事情上而不是消耗在无尽的沟通和返工上。
分享:

看完干货,该让你的企业上线了

免费需求沟通 · 48 小时内出具建站方案 · 河南本地可上门