Содержание статьи

Градиенты в Figma создаются через инструмент Fill с типом Gradient. Чтобы перенести их в другой проект, недостаточно скопировать визуальный результат – нужно сохранить точные параметры: тип градиента (линейный, радиальный, угловой или алмазный), позиции цветовых точек, угол наклона и режим наложения. Figma не экспортирует градиенты напрямую в CSS или SVG с сохранением всех настроек, поэтому требуется ручной разбор структуры.
Для линейных градиентов ключевые данные – это угол (в градусах) и позиции цветовых стопов (в процентах или пикселях). Например, градиент с углом 45deg и стопами 0% #FF0000, 50% #00FF00, 100% #0000FF в CSS записывается как linear-gradient(45deg, #FF0000 0%, #00FF00 50%, #0000FF 100%). В Figma эти параметры отображаются в панели Design при выделении слоя с градиентом. Для радиальных градиентов дополнительно указываются форма (ellipse или circle) и позиция центра.
<linearGradient id="gradient" x1="0%" y1="0%" x2="100%" y2="100%">
<stop offset="0%" stop-color="#FF0000" />
<stop offset="50%" stop-color="#00FF00" />
<stop offset="100%" stop-color="#0000FF" />
</linearGradient>
Для переноса в кодовые редакторы (VS Code, WebStorm) или фреймворки (React, Flutter) удобно использовать плагин Figma to Code или Anima, которые генерируют готовые стили. В Flutter градиент задаётся через LinearGradient с параметрами colors и stops, аналогичными CSS. При ручном переносе проверяйте соответствие цветовых пространств: Figma использует sRGB, а некоторые инструменты – P3 или Hex.
Подготовка градиента в Figma перед экспортом
Проверьте цветовые стопы (*Color stops*) на предмет избыточных или дублирующихся значений. Оптимальное количество – 2–4 стопа; каждый должен иметь уникальный цвет и позицию в процентах (0%–100%). Для точности используйте палитру *RGB* или *HEX* вместо *HSL*, так как последние могут интерпретироваться по-разному в разных средах. Если градиент содержит прозрачность, убедитесь, что альфа-канал задан через *RGBA* или *HSLA* с явным указанием значения *A*.
Сохраните градиент как стиль (*Style*) в Figma, чтобы избежать потери настроек. Перейдите в панель *Design* → *Styles* → *Create style*, выберите тип *Fill* и присвойте имя с префиксом, например, *gradient-primary*. Это позволит быстро применить его к другим объектам и экспортировать через плагины вроде *Figma to Code* или *Anima*. Если стиль не нужен, скопируйте параметры градиента в буфер обмена через *Copy properties* (Ctrl/Cmd + Alt + C) – так вы получите JSON-структуру с цветами и координатами.
Для веб-проектов преобразуйте градиент в CSS-свойство *background* или *background-image* вручную. Используйте формулу: *linear-gradient(угол, цвет1 позиция1, цвет2 позиция2)*. Пример: *linear-gradient(90deg, #FF0000 0%, #00FF00 100%)*. Для SVG экспортируйте объект с градиентом как *SVG*, затем извлеките секцию *<linearGradient>* из кода – она содержит все необходимые атрибуты (*x1, y1, x2, y2, stop-color*).
Перед экспортом протестируйте градиент на контрастность и читаемость текста, если он будет использоваться как фон. В Figma добавьте поверх градиента текстовый слой и проверьте его видимость через *Contrast Checker* в плагине *A11y*. Если градиент слишком яркий или темный, скорректируйте стопы, уменьшив насыщенность (*Saturation*) на 10–20% в цветовом пикере. Для мобильных приложений учитывайте ограничения рендеринга – избегайте резких переходов между цветами с разницей в яркости более 50%.
Способы копирования настроек градиента в буфер обмена
В Figma градиенты хранятся в формате CSS или SVG, но прямого экспорта настроек в буфер нет. Чтобы скопировать параметры, выделите слой с градиентом, откройте панель *Design* и нажмите на иконку градиента рядом с полем заливки. В открывшемся окне выберите вкладку *Code* – здесь отображается CSS-код с linear-gradient или radial-gradient. Скопируйте строку с функцией, включая угол (например, `linear-gradient(45deg, #ff0000 0%, #0000ff 100%)`), и вставьте в нужный проект. Для точного воспроизведения проверьте, поддерживает ли целевая среда аналогичные единицы измерения (deg, % или px).
Если требуется перенести градиент в инструменты, работающие с HEX-кодами (например, Adobe XD или Sketch), используйте плагин *Figma to Code* или *Copy CSS*. Они автоматически генерируют код с цветами в шестнадцатеричном формате и позициями стопов. Альтернатива – вручную записать значения стопов из панели градиента: выделите каждый стоп, скопируйте HEX-код и его позицию (например, `#ff0000 30%`). Эти данные можно передать в виде текста или JSON-объекта для программной обработки.
Для переноса в векторные редакторы (Illustrator, Affinity Designer) экспортируйте градиент как SVG. Выделите объект, выберите *Export* → *SVG*, затем в настройках экспорта отключите все опции, кроме *Include «id» Attributes*. В полученном файле найдите строку с `linearGradient` или `radialGradient` – она содержит атрибуты `x1`, `y1`, `x2`, `y2` (для линейного) или `cx`, `cy`, `r` (для радиального), а также теги `stop` с цветами и смещениями. Скопируйте этот блок и вставьте в целевой SVG-файл.
В Figma можно использовать API для автоматизации копирования градиентов. Создайте скрипт на JavaScript, который через `figma.getLocalPaintStyles()` получает стили заливки, извлекает параметры градиента (`gradientStops`, `gradientTransform`) и форматирует их в нужный вид. Например, для CSS: `const css = `linear-gradient(${angle}deg, ${stops.map(s => `${s.color} ${s.position}%`).join(‘, ‘)})`;`. Такой подход удобен при массовом переносе стилей между проектами или при интеграции с системами дизайна.
Для быстрого копирования настроек без кода используйте расширение *Figma to Tailwind* или *Figma Tokens*. Они конвертируют градиенты в формат, совместимый с Tailwind CSS (например, `bg-gradient-to-r from-red-500 to-blue-500`), или в JSON-токены для дизайн-систем. Установите плагин, выделите объект с градиентом, запустите конвертацию и скопируйте результат. Этот метод сокращает время на ручной перенос и минимизирует ошибки при работе с цветовыми пространствами (RGB, HSL, HEX).
Экспорт градиента в формате CSS для веб-проектов
В Figma градиенты задаются через панель *Fill* с типом *Gradient*. Чтобы получить CSS-код, выделите элемент с градиентом, откройте вкладку *Code* (или нажмите Shift + I) и скопируйте значение свойства background. Для линейных градиентов Figma генерирует код вида linear-gradient(90deg, #FF0000 0%, #00FF00 100%), где угол (90deg) и позиции цветовых точек (0%, 100%) соответствуют настройкам в интерфейсе. Радиальные градиенты экспортируются как radial-gradient(circle, #FFFFFF 0%, #000000 100%) – здесь важен параметр формы (circle или ellipse), который можно изменить вручную.
Если градиент содержит более двух цветов или нестандартные позиции точек, Figma добавляет их в CSS через запятую. Например: linear-gradient(45deg, #FF0000 0%, #FFFF00 30%, #0000FF 100%). Проверяйте сгенерированный код на соответствие макету – иногда Figma округляет значения углов или позиций. Для точной передачи используйте инструмент *Gradient Tool* (G) в Figma, чтобы выставить контрольные точки вручную, а затем скопируйте параметры в CSS.
Для адаптивности градиентов на разных устройствах добавляйте префиксы вендоров или используйте Autoprefixer. Стандартный CSS-градиент поддерживается всеми современными браузерами, но для старых версий (например, Safari < 15.4) может потребоваться -webkit-linear-gradient. Избегайте жестко заданных размеров в градиентах – вместо background: linear-gradient(...) используйте background-image, чтобы сохранить возможность наследования свойств родительского элемента.
При работе с полупрозрачными градиентами Figma экспортирует цвета в формате rgba(). Например: linear-gradient(90deg, rgba(255, 0, 0, 0.5) 0%, rgba(0, 0, 255, 0.8) 100%). Если в проекте используется CSS-переменные, замените жестко заданные цвета на var(--primary-color). Для анимации градиентов применяйте @keyframes с изменением позиций цветовых точек или углов – это работает быстрее, чем анимация всего свойства background.
Использование плагинов Figma для переноса градиентов
Figma предлагает десятки плагинов, упрощающих экспорт градиентов в другие инструменты. Наиболее эффективные решения работают напрямую с CSS, SVG или JSON, сохраняя точность цветовых переходов. Плагин «Gradient to CSS» генерирует готовый код для веб-проектов, включая префиксы для кроссбраузерности. Для мобильных приложений подойдет «Figma to Flutter», конвертирующий градиенты в Dart-код с поддержкой всех параметров: углов, позиций стопов и режимов наложения.
Перед установкой плагина проверьте его совместимость с вашей версией Figma. В разделе «Plugins» (Ctrl/Cmd + /) отфильтруйте результаты по ключевым словам: gradient, export, CSS. Обратите внимание на дату последнего обновления – актуальные плагины поддерживают линейные, радиальные и угловые градиенты, а также градиенты с несколькими цветовыми стопами. Пример: «Super Tidy» позволяет экспортировать градиенты в формате JSON, который затем импортируется в After Effects или Blender.
- «Copy CSS» – минималистичный плагин, копирующий градиент в буфер обмена в виде CSS-свойства
background. Поддерживает HEX, RGB и HSL, но не сохраняет анимации. - «Figma to Code» – экспортирует градиенты в React Native, SwiftUI и Kotlin. Автоматически конвертирует Figma-цвета в нативные цветовые пространства (например, UIColor для iOS).
- «Gradient Magic» – специализируется на сложных градиентах с нестандартными формами (например, коническими). Генерирует SVG с сохранением всех узлов.
Для корректной работы плагинов градиент должен быть применен к слою с заливкой, а не к эффекту или обводке. Если градиент содержит прозрачность, убедитесь, что плагин поддерживает альфа-канал – иначе цвета будут экспортированы с непрозрачностью 100%. Пример ошибки: «CSS Gradient Generator» игнорирует прозрачные стопы, заменяя их на белый цвет. Решение – использовать плагины с поддержкой RGBA, такие как «Figma Tokens».
После экспорта проверьте результат в целевой среде. В браузере используйте инструменты разработчика (F12) для сравнения визуального отображения градиента с оригиналом в Figma. Для мобильных приложений протестируйте градиент на разных устройствах – некоторые плагины не учитывают особенности рендеринга на Android (например, аппаратное ускорение). Если градиент выглядит размытым, увеличьте разрешение экспортируемого SVG или используйте CSS-свойство background-size: 100% 100%.
Для командной работы выберите плагины с возможностью сохранения настроек. «Style Dictionary» позволяет экспортировать градиенты в виде токенов дизайн-системы, которые затем импортируются в Storybook или Zeroheight. Это гарантирует единообразие градиентов во всех проектах. При частом переносе градиентов создайте в Figma отдельную страницу с тестовыми образцами и сохраните плагин в избранное (кнопка «Star» в магазине плагинов).
Ручной перенос градиента в графические редакторы
В Figma градиент задаётся через координаты точек (x, y), угол (°) и цветовые остановки (color stops) в формате HEX, RGB или HSL. Чтобы перенести его в Photoshop, Illustrator или Affinity Designer, экспортируйте параметры из панели Fill в Figma: скопируйте значения Type (Linear, Radial, Angular), Angle, Gradient Stops и координаты начальной/конечной точек. В Photoshop создайте градиент через Gradient Tool (G), выберите тип (Linear, Radial), введите угол в поле Angle и добавьте цветовые остановки вручную, используя пипетку для точного соответствия HEX-кодам. Для радиальных градиентов укажите центр (x, y) в процентах от размера слоя – в Figma это 0% 0% по умолчанию, в Photoshop настройте через Scale и Position.
В Illustrator и Affinity Designer процесс отличается деталями:
- Illustrator: Используйте инструмент
Gradient Tool(G), выберите тип градиента в панелиGradient, задайте угол в полеAngle. Для радиальных градиентов настройтеAspect Ratio(соотношение сторон) иLocation(позицию центра). Цветовые остановки добавляйте через двойной клик на полосе градиента, вставляя HEX-коды из Figma. - Affinity Designer: В панели
FillвыберитеGradient, укажите тип (Linear,Radial,Conical). Угол задаётся в градусах, координаты точек – в процентах от объекта. Для точного переноса используйтеColor Pickerс режимомRGB Hex Sliders, чтобы избежать цветовых сдвигов. В Affinity Designer также доступен параметрMidpoint(средняя точка между цветовыми остановками) – его значение по умолчанию50%, как и в Figma.
При переносе учитывайте, что Figma использует относительные координаты (0–1 для линейных градиентов, 0–100% для радиальных), а редакторы могут требовать абсолютные значения или проценты от размера объекта. Проверяйте результат на тестовом слое: масштабируйте объект, чтобы убедиться в сохранении пропорций градиента.
