Что разберём
- Число руками и переменнаятренажёр
- Переменные в Figmaразбор
- Имя, которое переживёт смену значенияпереключатель
- Когда переменная не нужнатренажёр
- Найдите числа, вписанные рукамипоиск
1Число руками и переменная
Цвет, вписанный в слой кодом, придётся менять в каждом слое. Переменная меняется в одном месте.
В приложении «Лесной обжарки» синий стоит на кнопках, ссылках, выбранных чипах и в нижнем меню.
Если код цвета вписан в каждый слой, смена синего на зелёный — это десятки правок. И какую-то обязательно пропустят.
С отступами так же. Отступ 16 внутри карточки вписан в каждую карточку отдельно.
Попробуйте сами. Почти весь экран ниже привязан к переменным, но две вещи — нет.
Что даёт переменная
- Правка в одном месте. Новое значение ставят в переменную, и оно появляется везде, где она привязана.
- Одно значение вместо «почти такого же». На всех кнопках один синий, а не пять оттенков, подобранных на глаз.
- Общее имя с кодом. В режиме разработчика (Dev Mode, он есть на платных тарифах) Figma показывает в коде имя переменной рядом со значением. Разработчик берёт то же имя.
В коде такие именованные значения называют дизайн-токенами. В этом уроке переменная и токен значат одно и то же: имя и значение.
2Переменные в Figma
Переменная — это имя и значение. Слою дают имя, а значение хранится в одном месте.
Переменные лежат в коллекциях. Коллекция — это набор, например все цвета и отступы приложения.
Открываются они вкладкой Variables в левой панели Figma.
Типы переменных
- Цвет — сплошной цвет для заливки, обводки, текста и тени.
- Число — для отступов и промежутков автораскладки, радиуса углов, ширины и высоты, кегля и интерлиньяжа.
- Строка — для текста в слое и названия шрифта.
- Логическое — чтобы показать или скрыть слой.
Ещё два типа, timing и easing, нужны для анимации. На этой ступени хватит первых двух: цветов и чисел.
| Имя | Значение |
|---|---|
| color | |
color/accent | 1D5FD1 |
color/text | 1B1F24 |
color/text-muted | 5B6570 |
color/surface | F4F6F8 |
color/border | C9D0D6 |
| space | |
space/s | 8 |
space/m | 16 |
space/l | 24 |
| radius | |
radius/m | 8 |
Как привязать
- Число. Щёлкните в поле свойства, например в отступ или радиус, и нажмите «=». Откроется список переменных.
- Цвет. Нажмите на образец заливки и откройте вкладку Libraries или нажмите значок Apply styles and variables в разделе Fill. Переменные там в квадратных образцах, стили — в круглых.
Теперь значение приходит из переменной. Поменяете переменную — поменяется и слой.
Отвязать переменную у цвета можно значком Detach variable, у числа — стерев значение в поле.
Одно исключение: если тянуть отступ или промежуток автораскладки ручками прямо на холсте, привязка слетает сама.
Стиль или переменная
У Figma есть и стили. Они не исчезли с появлением переменных.
- Переменная хранит одно значение: один цвет, одно число.
- Стиль хранит набор. Текстовый стиль — это сразу шрифт, кегль и интерлиньяж. Цветовой стиль может держать градиент или несколько заливок.
Поэтому стили текста остаются стилями. А кегль внутри стиля можно взять из числовой переменной.
Как собрать шкалу отступов, разобрано в уроке «Композиция и сетка», Junior. Шкалу кеглей — в уроке «Типографика», Junior. Здесь — как эти шкалы хранить.
3Имя, которое переживёт смену значения
Значение переменной меняется, имя остаётся. Поэтому имя говорит, зачем это значение, а не какое оно.
Сравните:
- «blue» → «color/accent»
- «gray-dark» → «color/text»
- «padding-16» → «space/m»
- «catalog-card-padding» → «space/m»
Посмотрите, что стало с именами после того, как магазин сменил синий на зелёный, а отступ в карточках — с 16 на 24.
Имена по значению
| Имя | Значение |
|---|---|
blue | 2E7D4F |
padding-16 | 24 |
Имена по назначению
| Имя | Значение |
|---|---|
color/accent | 2E7D4F |
space/m | 24 |
Как называть
По назначению, а не по виду. Акцент, текст, фон, граница. Через год акцент может стать зелёным, а «blue» так и останется синим только по имени.
Не по месту. «catalog-card-padding» завтра понадобится в корзине, и имя начнёт путать.
Одними словами во всём файле. Если у одной переменной «text», у соседней не «font-color».
Латиницей, как в коде. Спросите разработчика, как такие значения называются у него. Чем ближе имена, тем меньше переводить туда и обратно.
В справке Figma вы встретите и имена по цвету: gray/400, brand/watermelon. Так называют палитру-основу, к которой слои напрямую не привязывают. Как устроены эти два слоя, разобрано на следующей ступени.
Номер ступени — тоже имя
Отступы в больших системах часто называют номером ступени шкалы.
Например:
У Atlassian space.100 — это 8 пикселей, а space.200 — 16.
Номер ступени — не число пикселей. Значение ступени можно поменять, а порядок останется прежним.
Как называть переменные по ролям, если у продукта две темы, разобрано на следующей ступени.
4Когда переменная не нужна
Переменная нужна тому, что повторяется. Разовое значение можно оставить числом.
Каждая переменная — ещё одна строка в наборе. Кто-то должен понимать, что она значит и где её можно брать.
Если в наборе есть «color/autumn-banner» для одного баннера, через полгода никто не вспомнит, можно ли взять её для кнопки.
Проверьте себя
Нужна ли переменная этим значениям из приложения «Лесной обжарки»?
Синий кнопок, ссылок и выбранных чипов.
ПеременнаяСтоит на десятках слоёв, и меняют его везде сразу.
Оранжевый баннера «Осенняя обжарка». Баннер висит до конца ноября.
ЧислоОдин слой на один месяц. Переменная для него только засорит набор.
Отступ внутри карточки сорта: 16 со всех сторон.
ПеременнаяТот же отступ во всех карточках каталога, «Избранного» и поиска.
Радиус углов у кнопок, полей и чипов.
ПеременнаяЕсли магазин решит скруглить углы сильнее, это должна быть одна правка.
Ширина схемы проезда на странице «Контакты».
ЧислоОдна картинка на одном экране. С другими местами она не связана.
Цвет основного текста.
ПеременнаяОн на каждом экране. А в тёмной теме у него будет другое значение — об этом следующая ступень.
Наклон наклейки «Новинка» на одном баннере — 12 градусов.
ЧислоРазовое решение для одной картинки.
Промежуток между карточками в списке сортов.
ПеременнаяОдин и тот же во всех списках. Это промежуток автораскладки, и к нему привязывают числовую переменную.
5Найдите числа, вписанные руками
Экран каталога, у каждого элемента — метка, откуда его значение. Четыре значения вписаны руками там, где нужна переменная.
Имя переменной в метке — значение взято из набора. Код цвета или число — повод присмотреться.
Нажимайте на элементы, которые, по-вашему, надо привязать к переменной. Нормальные элементы тоже можно нажать.
- Поле поиска.Всё в порядке. Рамка привязана к переменной color/border.
- Чип «Зёрна».Всё в порядке. Заливка выбранного чипа — color/accent.
- Чип «Молотый».Руками. Радиус 6, а в наборе radius/m — 8. Соседние чипы скруглены сильнее, хотя глазом это почти не видно. Привязать к radius/m.
- Баннер «Осенняя обжарка».Можно оставить. Цвет вписан руками, но баннер разовый и уйдёт в декабре. Переменная для него не нужна.
- Фото сорта.Всё в порядке. Это картинка, а не цвет и не число. Переменная ей не нужна.
- Карточка Кении.Всё в порядке. Отступ внутри — space/m.
- Подпись у Эфиопии.Руками. Код 5C6670, а в наборе color/text-muted — 5B6570. Разница в одну единицу: кто-то подобрал серый пипеткой. Привязать к color/text-muted.
- Кнопка «В корзину» у Эфиопии.Руками. Почти акцент, но не он: 1E60D0 вместо 1D5FD1. При смене синего на зелёный эта кнопка останется синей.
- Карточка Колумбии.Руками. Отступ 13 — такой ступени в шкале нет. Карточка выглядит чуть теснее соседних. Привязать к space/m.
Все четыре найдены. Радиус 6 вместо 8, серый с разницей в одну единицу, синий «почти как акцент» и отступ 13. Глазом их не отличить, поэтому значения и держат в переменных.
Как найти такие значения в своём макете
- Откройте Selection colors. Выделите экран: в правой панели Figma покажет его цвета, отдельно переменные, стили и обычные заливки. Обычная заливка в этом списке — цвет без переменной. Значок мишени рядом выделит все слои с этим цветом.
- Сравните со шкалой. Отступ 13 при шкале 4, 8, 12, 16 — опечатка, а не решение.
- Запустите Check designs, если у команды тариф Organization или Enterprise. Проверка находит вписанные цвета, радиусы и отступы и предлагает переменную на замену.
6Задание
Возьмите свой макет, вынесите цвета и отступы в переменные и проверьте, что вписанных руками значений не осталось.
Часть 1 · Выписать, 15 минут
- Выделите два-три экрана и откройте Selection colors. Выпишите все цвета. Если своего проекта нет, возьмите экран каталога из поиска выше.
- Выпишите отступы и радиусы. Пройдитесь по автораскладкам: промежутки и отступы внутри.
- Сведите почти одинаковые. 1D5FD1 и 1E60D0 — один цвет. 13 и 12 — одна ступень.
- Отметьте разовое. Его оставите числом.
ПРОЕКТ: ______________________ Дата: __.__.____ ЦВЕТА имя переменной | значение | где стоит color/accent | #______ | ______________________ color/text | #______ | ______________________ color/______ | #______ | ______________________ ОТСТУПЫ И РАДИУСЫ space/s | ____ | ______________________ space/m | ____ | ______________________ radius/______ | ____ | ______________________ СВЕДЕНО (почти одинаковые → одно значение) ______ и ______ → ______ РАЗОВОЕ (оставляю числом) ______________________ — почему: ______________________ ПРОВЕРКА акцент сменили в одном месте — поменялся везде: да / нет вписанных руками значений осталось: ____
Часть 2 · Завести и привязать, 40 минут
- Откройте вкладку Variables в левой панели, создайте коллекцию и заведите переменные из шаблона: цвета и числа.
- Назовите по назначению: color/accent, space/m, radius/m.
- Привяжите каждую заливку, обводку, отступ и радиус. Начните с главных компонентов: экземпляры получат привязку сами.
Часть 3 · Проверить, 15 минут
- Смените значение color/accent на любой другой цвет и пройдите по экранам. Всё поменялось?
- Снова откройте Selection colors. Остались коды цветов без переменной — привяжите или запишите в разовое.
- Верните цвет и заполните строку «Проверка».
Что должно получиться
- Коллекция переменных с цветами, отступами и радиусами.
- Макет без вписанных значений, кроме разовых.
- Заполненный шаблон выше.
План работы: 15 минут выписать, 40 — завести и привязать, 15 — проверить. Около часа с небольшим.
Частые сложности
- «Почти одинаковых синих — восемь». Выберите тот, что стоит на главной кнопке, или спросите разработчика, какой синий в коде. Остальные привяжите к нему.
- «Переменных больше, чем цветов в макете». Проверьте, не завели ли вы переменные на разовые значения.
- «Компонент со своими числами внутри». Привязывайте в главном компоненте, а не в экземплярах. Как устроены компоненты, разобрано в уроке «Компоненты и варианты», Junior.
- «Отступ отвязался сам». Если тянуть отступ автораскладки ручками прямо на холсте, Figma отвязывает переменную. Меняйте значение в поле или в самой переменной.
- «Не знаю, как назвать». Ответьте, зачем это значение: фон, текст, акцент, отступ внутри. Ответ и есть имя.
7Чек-лист и ошибки
Переменные работают, если
- Цвета, отступы и радиусы, которые повторяются, лежат в переменных
- В полях свойств имена переменных, а не числа и коды цветов
- Почти одинаковые значения сведены к одному
- Имена говорят о назначении: color/accent, а не blue
- Разовые значения остались числами, набор не засорён
- Смена акцента во всём макете — одна правка
Что мешает
- Код цвета в слое. Смена переменной до него не дойдёт.
- «Почти такой же» цвет. Глазом не отличить, а при смене палитры он останется старым.
- Имя по цвету. «blue», который стал зелёным.
- Имя по месту. «catalog-card-padding» в корзине.
- Переменная на один баннер. Строка в наборе, которую никто не понимает.
8Три ступени темы
В этом уроке учимся выносить повторяющиеся значения в переменные. На следующих ступенях — называть токены по ролям и собирать темы, а потом держать токены одинаковыми в макете и в коде.
| Ступень | Что нужно уметь | Как проверить результат |
|---|---|---|
| Junior — этот урок | Заводить переменные для цветов и отступов; привязывать к ним слои; называть по назначению; находить значения, вписанные руками; не заводить переменную на разовое | Смена акцентного цвета всего макета — правка одного значения |
| Middle | Разделять примитивы и токены с ролями; строить имя токена по роли и состоянию; собирать вторую тему из тех же ролей; проверять, что при смене темы ничего не осталось прибитым | Переключение темы не требует ни одной ручной правки в макете |
| Senior | Держать одинаковыми имена и значения токенов в макете и в коде; выбрать способ передачи; регулярно сверять расхождения; записать порядок добавления нового токена | Новый токен проходит путь от документа до кода без ручного вмешательства |
Что почитать дальше
- Подробный разбор переменных Figma VariablesРазбор по шагам на русском: коллекции, группы через косую черту, квадратные и круглые образцы, палитра с именами по назначению. Текст 2025 года: типов четыре, а не шесть, режимов на платном тарифе «до 4», панель переменных теперь открывается слева. Логическую переменную автор привязывает к экземпляру, к цветам это не относится.
- Overview of variables, collections, and modesСправка Figma на английском: шесть типов переменных и к каким свойствам привязывается каждый, коллекции и группы, чем стиль отличается от переменной. На схеме палитра-основа названа по цвету (gray/400, watermelon), а слои берут цвет из токенов по назначению. Это тема следующей ступени.
- Create and manage variables and collectionsСправка Figma на английском к заданию: где теперь открывается панель переменных (вкладка Variables слева), как завести коллекцию, переменную и группу, как ограничить свойства, к которым переменную можно привязать. В примерах токены названы по назначению (surface/primary) и по ступени (spacing/2).
- Apply variables to designsСправка Figma на английском: как привязать переменную к заливке, отступу, радиусу, тексту и видимости слоя и как её отвязать. Пригодится к заданию. Там же заметка: если тянуть отступ автораскладки ручками на холсте, привязка слетает. Это та самая «сложность» из урока.
- Почему стили в Figma — прошлый векКак называть токены: кнопка button.purple, ставшая розовой, и шкала 100–200–300 против S–M–L. Автор разрешает имена по цвету и числу в «стабильном» проекте, урок так не советует: значение меняется и там. Заголовок про стили устарел, в стили теперь можно подставлять переменные.