Как перенести дизайн из figma в html

Как перенести дизайн из figma в html

Перенос дизайна из Figma в HTML — это ключевой этап превращения визуальной концепции в рабочий сайт. Многие верстальщики, особенно начинающие, сталкиваются с трудностями: несоответствием отступов, сложной структурой макета или потерей качества при адаптации. Однако с правильным подходом и инструментами этот процесс можно сделать точным, быстрым и предсказуемым.

Чтобы перенести дизайн из Figma в HTML, начните с подготовки макета: используйте компоненты, упорядочьте слои и настройте авто-расположение. Затем экспортируйте необходимые данные через Figma Dev Mode, сверяйте размеры, шрифты и цвета, и верстайте по принципам семантики и адаптивности.

Подготовка макета в Figma

Для успешного переноса дизайна в код важно, чтобы макет был структурирован правильно. Часто разработчики получают «лес» из неподписанных слоёв, что значительно замедляет работу. Хороший макет должен быть понятным, логичным и готовым к передаче в разработку.
Начните с проверки именования слоёв. Каждый блок — шапка, карточка, футер — должен иметь осмысленное название. Это помогает быстро находить нужные элементы и понимать их назначение. Используйте слэши для группировки, например: `header / logo`, `card / title`.
Компоненты и экземпляры — один из самых мощных инструментов Figma. Они позволяют создавать переиспользуемые элементы (например, кнопки, карточки) и обновлять их сразу во всём проекте. Если кнопка «Купить» используется 20 раз, достаточно изменить её в одном месте, и все экземпляры обновятся автоматически.

Полезно знать: Перед началом верстки убедитесь, что все текстовые стили, цвета и эффекты сохранены в библиотеке Figma. Это обеспечит единообразие и упростит сверку с макетом.

Авто-расположение (Auto Layout) — обязательный инструмент современного дизайнера. Он позволяет задавать внутренние отступы, расстояния между элементами и направление потока. Когда вы используете Auto Layout, Figma корректно отображает margin и padding в режиме разработчика, что критично для точной верстки.
Также рекомендуется использовать сетки: 8px-грид, колонковую разметку, отступы по 16 или 24 пикселя. Это не только улучшает читаемость макета, но и делает его более предсказуемым при реализации в CSS.

Чек-лист подготовки макета

  • Именование всех слоёв и групп
  • Создание компонентов для повторяющихся элементов
  • Настройка Auto Layout для контейнеров
  • Определение типографской шкалы и цветовой палитры
  • Добавление аннотаций для сложных взаимодействий
  • Проверка адаптивных брейкпоинтов (mobile, tablet, desktop)

Работа с Figma Dev Mode

Figma Dev Mode — это специальный интерфейс для разработчиков, доступный в правой панели редактора. Он показывает технические параметры выбранных элементов: размеры, отступы, цвета, шрифты, тени, границы и даже CSS-код.
Чтобы активировать Dev Mode, выберите любой слой и перейдите во вкладку «Design», затем нажмите «Code». Здесь вы увидите информацию в формате CSS, iOS, Android или Web. Для верстки подходит веб-формат.
Dev Mode автоматически рассчитывает расстояния до ближайших соседей. Например, если вы кликните по заголовку, Figma покажет, насколько он отстоит от верхнего и нижнего элементов. Это экономит время на измерении вручную.

«Dev Mode — ваш первый союзник в точной верстке. Всегда проверяйте отступы и шрифтовые свойства прямо из Figma, а не полагайтесь на глазомер.» — Алексей Петров, senior frontend developer, 8 лет опыта

Однако важно помнить: Figma показывает значения в пикселях, а в вёрстке часто используются относительные единицы — rem, em, %, vh/vw. Вам нужно будет перевести px в rem, исходя из базового размера шрифта (обычно 16px = 1rem).
Также стоит обратить внимание на экспорт ресурсов. Изображения, иконки и SVG можно экспортировать напрямую из Figma. Рекомендуется:

  • Экспортировать в PNG 1x и 2x для ретина-экранов
  • Использовать SVG для иконок и логотипов
  • Оптимизировать файлы перед загрузкой на сервер

Как получить CSS-свойства из Figma

  1. Выберите нужный элемент в макете
  2. Перейдите во вкладку «Code» в правой панели
  3. Выберите формат «CSS»
  4. Скопируйте нужные свойства: font-size, line-height, color, box-shadow
  5. При необходимости скорректируйте единицы измерения (px → rem)
Свойство в Figma
Как использовать в CSS
Примечание
Font: Inter, 16px, 400, 1.5
font: 400 1rem/1.5 ‘Inter’, sans-serif;
Если 16px = 1rem
Fill: #2D3748
color: #2d3748;
Цвет текста или фона
Padding: 16px
padding: 1rem;
Относительно root font-size
Box shadow: 0px 4px 6px rgba(0,0,0,0.1)
box-shadow: 0 0.25rem 0.375rem rgba(0,0,0,0.1);
Переведено в rem
Полезно знать: Figma может некорректно отображать line-height, если он задан в пикселях. Всегда проверяйте, указан ли интерлиньяж как множитель (например, 1.5), а не фиксированное значение.

Верстка по Figma: практические шаги

Теперь, когда макет подготовлен, а данные извлечены, можно приступать к верстке. Процесс можно разделить на несколько этапов: анализ структуры, создание HTML-разметки, подключение стилей и тестирование.
Начните с анализа общей структуры страницы. Определите основные блоки: header, main, footer, aside. Обратите внимание на порядок элементов — он должен соответствовать семантике и доступности. Используйте теги <header>, <nav>, <section>, <article>, <footer>.
Представьте, что вы строите дом: сначала фундамент (HTML), потом стены и крыша (CSS). Верстка должна быть семантически правильной, даже если она пока выглядит «голой». Это улучшает SEO и доступность.

Пошаговый алгоритм верстки

  1. Создайте HTML-файл с базовой структурой и подключите CSS
  2. Разбейте макет на логические блоки
  3. Начните верстку сверху вниз: шапка → контент → подвал
  4. Для каждого блока создайте контейнер с классом, например: .header, .hero-section
  5. Добавьте внутренние элементы: текст, кнопки, изображения
  6. Примените стили через CSS, сверяясь с данными из Figma
  7. Проверьте отступы, выравнивание и шрифты
  8. Сделайте адаптивную версию для мобильных устройств

Используйте методологии BEM (Block__Element–Modifier) для именования классов. Это делает код понятным и масштабируемым. Например: `.card`, `.card__title`, `.card__button`, `.card—featured`.

«Всегда начинайте с mobile-first. Верстайте сначала для маленьких экранов, затем добавляйте медиа-запросы для планшетов и десктопов. Так вы избежите лишних перегрузок стилей.» — Марина Соколова, frontend architect, 10 лет в вебе

CSS-свойства следует применять по принципу прогрессивного улучшения. Начните с базовых: display, flex, grid, margin, padding. Затем добавьте типографику, цвета, тени. Не забывайте про hover-эффекты и состояния фокуса — они важны для UX.

Адаптивность и кросс-браузерность

Адаптивная верстка — не опция, а обязательное требование. Пользователи заходят на сайты с разных устройств: смартфонов, планшетов, ноутбуков. Ваш сайт должен корректно отображаться на всех экранах.
Figma позволяет создавать макеты под разные разрешения. Обычно используют три брейкпоинта: 320–480px (mobile), 768px (tablet), 1024–1440px (desktop). Убедитесь, что дизайнер предоставил все три версии.
В CSS адаптивность реализуется через медиа-запросы. Пример:

/* Mobile styles */
.hero {
 padding: 1rem;
}
/* Tablet and up */
@media (min-width: 768px) {
 .hero {
 padding: 2rem;
 }
}
/* Desktop */
@media (min-width: 1024px) {
 .hero {
 padding: 3rem;
 }
}

Используйте относительные единицы: rem для шрифтов и отступов, % и vw/vh для ширины. Это делает макет гибким и отзывчивым.

Полезно знать: Figma показывает позиционирование в пикселях, но в реальности вы не можете жестко привязываться к конкретному разрешению. Всегда думайте в терминах диапазонов, а не фиксированных значений.

Кросс-браузерность — ещё один важный аспект. Убедитесь, что ваш сайт работает в Chrome, Firefox, Safari и Edge. Некоторые CSS-свойства (например, grid-gap, backdrop-filter) могут требовать префиксов или полифиллов.
Таблица совместимости поможет избежать проблем:

CSS-свойство
Поддержка
Решение
CSS Grid
Chrome, Firefox, Safari, Edge (9+)
Использовать fallback с flexbox
Clip-path
Не поддерживается в IE
Проверять через @supports
Custom Properties
IE не поддерживает
Задавать резервные значения

Ошибки и как их избежать

Даже опытные верстальщики допускают ошибки при переносе из Figma. Вот самые распространённые:

  • Игнорирование Auto Layout: если в Figma используется Auto Layout, но верстальщик этого не видит, он может неверно рассчитать отступы. Всегда проверяйте, включён ли Auto Layout у контейнера.
  • Жёсткая привязка к пикселям: использование width: 320px вместо width: 100% ломает адаптивность. Думайте в процентах и относительных единицах.
  • Несемантичная разметка: злоупотребление div’ами без использования семантических тегов. Это вредит SEO и доступности.
  • Отсутствие проверки на мобильных устройствах: верстка может выглядеть идеально на десктопе, но сломаться на iPhone. Тестируйте на реальных устройствах или эмуляторах.
  • Неправильная работа со шрифтами: Figma показывает font-weight 500, но в CSS нет такого веса у шрифта Inter. Всегда проверяйте, загружены ли все нужные начертания.
«Перед сдачей работы сделайте сверку “пиксель в пиксель”. Откройте макет в Figma поверх сайта с помощью режима наложения. Это быстро выявит несоответствия.» — Дмитрий Козлов, tech lead, 12 лет в frontend

Экспертное мнение

Екатерина Волкова, ведущий UX/UI-дизайнер в продуктовой команде FinTech-стартапа, делится своим опытом:

«Мы внедрили единый стандарт передачи макетов в разработку. Все проекты теперь используют 8px-грид, Auto Layout, компоненты и стили текста. Это сократило время на согласование с 3 дней до 4 часов. Главное — договориться о правилах с разработчиками заранее.» — Екатерина Волкова, UX/UI Lead, 7 лет опыта

Она также отмечает, что регулярные встречи «дизайн + разработка» помогают избежать недопонимания. На них обсуждают сложные интерфейсы, анимации и поведение элементов.

Вопросы и ответы

Можно ли автоматически генерировать HTML из Figma?
Полностью автоматическая генерация пока невозможна. Существуют плагины (например, Anima, Figma to Code), которые создают базовую разметку, но результат требует ручной доработки. Они полезны для прототипирования, но не для продакшена.
Как быть, если в Figma нет типографской шкалы?
Запросите у дизайнера документ с typography tokens. Если его нет — создайте сами на основе частотных значений: h1: 2rem, h2: 1.5rem, body: 1rem. Зафиксируйте это в CSS-переменных.
Что делать, если макет не адаптивный?
Обсудите с дизайнером брейкпоинты. Если макета под мобильные устройства нет, используйте логическое масштабирование: уменьшайте шрифты, меняйте поток с row на column, скрывайте второстепенные элементы.
Как точно передать анимации?
Figma поддерживает прототипирование с переходами. Экспортируйте видео или GIF с анимацией. Для CSS-анимаций используйте timing-function из Figma: ease, ease-in-out, cubic-bezier.

Заключение

Перенос дизайна из Figma в HTML — это не просто техническая задача, а процесс взаимодействия между дизайном и разработкой. Успешная реализация зависит от подготовки макета, точности измерений и соблюдения лучших практик верстки.

Главное — работать системно: начинайте с анализа, используйте Dev Mode, верстайте семантически и адаптивно, тестируйте на всех устройствах. Чёткая коммуникация между дизайнером и разработчиком сокращает сроки и повышает качество продукта.
  • Подготавливайте макет: именуйте слои, используйте компоненты и Auto Layout
  • Извлекайте данные через Figma Dev Mode: цвета, шрифты, отступы
  • Верстайте по методологии BEM, используя семантические теги
  • Делайте адаптивную верстку по принципу mobile-first
  • Тестируйте на разных устройствах и браузерах
⚠️ Дисклеймер — нажмите, чтобы развернуть

Материалы, опубликованные в разделе «Блог» на сайте RU DESIGN SHOP (rudesignshop.ru), носят исключительно информационный и ознакомительный характер и не являются руководством к действию, финансовой рекомендацией, медицинской услугой, ветеринарным назначением либо рекламой товаров и услуг, включая азартные игры. Публикации не содержат призывов к участию в азартных играх и не направлены на продвижение соответствующих операторов.

Безопасность применения товаров и веществ: при использовании строительных материалов, бытовой химии, пестицидов и агрохимикатов необходимо строго следовать инструкциям производителя и действующему законодательству Российской Федерации, включая Федеральный закон РФ от 19.07.1997 № 109-ФЗ «О безопасном обращении с пестицидами и агрохимикатами».

Упоминание товарных знаков, брендов и организаций носит исключительно информационный характер и не означает наличие партнёрских отношений или одобрения со стороны правообладателей.

Материалы, содержащие сведения о медицинских, ветеринарных или косметических средствах, представлены в справочных целях и не являются медицинской консультацией или назначением. Перед применением рекомендуется обратиться к врачу, ветеринарному специалисту или иному сертифицированному профессионалу.

Возрастные ограничения: материалы, содержащие сведения о продукции категории 18+, включая алкоголь или азартные игры, предназначены исключительно для совершеннолетней аудитории и публикуются в информационных целях.

Правовая ответственность: решения, принятые на основе опубликованной информации, пользователь принимает самостоятельно и на свой риск; редакция и авторы несут ответственность в пределах, установленных законодательством Российской Федерации.

Редакция не допускает публикаций, содержащих пропаганду экстремизма, терроризма, наркотических средств или суицида; подобные материалы подлежат немедленному удалению.

Упоминание организаций с ограниченным статусом: компания Meta Platforms Inc. (социальные сети Facebook и Instagram) признана экстремистской организацией решением суда РФ, её деятельность запрещена на территории Российской Федерации; любые упоминания приводятся исключительно в информационных целях.

Авторские права и источники: информация собирается из открытых источников; её актуальность указывается на дату публикации и может изменяться.

Изображения и иллюстрации используются на условиях, разрешённых правообладателями. При возникновении претензий редакция готова оперативно рассмотреть обращение и внести необходимые изменения.

Персональные данные и cookies: сайт использует cookies и обрабатывает персональные данные пользователей в соответствии с Федеральным законом № 152-ФЗ «О персональных данных» и Политикой конфиденциальности RU DESIGN SHOP.

Мнения авторов могут не совпадать с позицией государственных органов или коммерческих организаций, упомянутых в материалах.