В третьей части по основам Figma научимся работать с фреймами (артбордами), страницами и файлами, чтобы не заблудиться в структуре большого проекта. Посмотрим, насколько мощные возможности таит в себе фрейм, как сетки и колонки помогают распределить объекты и выставить отступы. Научимся пользоваться направляющими. Впервые познакомимся с ограничителями (constraints) и бегло взглянем на компоненты.
Вам больше не будут страшны большие проекты, вы сможете легко структурировать любой файл и быстро перемещаться по его частям.
- Фреймы. Сравнение с группами
- Создание фрейма. Изменяем размер и заливку
- Как поместить объекты внутрь фрейма
- Простая маска – обрезаем содержимое фрейма
- Добавление сетки
- Добавление колонок и рядов
- Направляющие и линейка
- Примеры использования фреймов
- Поведение содержания фрейма при изменении размера
- Первое знакомство с компонентами
- Виды ограничителей (Constraints)
- Подгонка размера фрейма под содержимое
- Изменяем ориентацию фрейма
- Страницы и файлы
- Организация страниц
- Иерархия проекта
- Домашнее задание
- Выводы
Фреймы. Сравнение с группами
Фреймы в другим программах называются артбордами (artboard). Но в Figma пошли своим путем и придумали уникальное название. И вполне резонно, так как фреймы обладают большими возможностями и гибкостью, чем артборды, например, в Sketch невозможно поместить один артборд внутри другого.
Frame с английского переводится, как рамка, каркас, скелет. Если упростить, то фреймы можно сравнить с холстом художника или рабочей областью. Обычно фрейм (артборд) содержит дизайн одной страницы в определенном размере. Например, дизайнер может разместить рядом несколько фреймов с одной и той же страницей для экрана ноутбука, планшета и смартфона.
В прошлых урокам, рисуя целые страницы мы по незнанию использовали группы вместо фреймов. Давайте исправим это упущение, теперь работая с дизайном страницы/экрана будем помещать все элементы внутри фрейма.
Группы позволяют объединять примитивы и создавать логические единицы внутри фрейма, значительно облегчая работу с проектом. Фреймы похожи на группы, но обладают рядом уникальных возможностей:
- Фрейм имеет размер и может иметь заливку цветом. В группах размер задается автоматически, на основе размера всех объектов, которые находятся внутри. Это отличие позволяет экспортировать изображения с отступами по краям, что полезно при сохранении иконок. В настройках фрейма можно найти большой список шаблонов размеров от всевозможных экранов устройств (популярных смартфонов, умных часов и планшетов) и до даже сторис Instagram или поста Facebook;
- Каждый фрейм имеет свою систему координат. Координаты объектов внутри будут отсчитываться относительно верхнего левого края границы фрейма;
- Фрейм способен обрезать свое содержимое, которое выходит за его рамки. То есть всё, что находится за границами фрейма будет скрываться, если опция Clip content включена. Такая возможность называется маской;
- Фрейм может отображать разметку макета, а именно сетку, вертикальные и горизонтальные колонки, а также включать внутри себя направляющие. Эти инструменты предназначены для точного расположения и выравнивания объектов макета;
- При изменении размеров фрейма можно указать, как себя будут вести объекты. Например, кнопка может прилипнуть к верхней части экрана и растягиваться по ширине. Эта возможность называется ограничиелями (constraints).
Создание фрейма. Изменяем размер и заливку
Процесс создания фрейма ничем не отличается от прямоугольника, кроме того, что вам нужно выбрать инструмент с изображением решетки или нажать F. Далее зажимаем левую кнопку на рабочей области и тянем мышь. Отпускаем левую кнопку мыши, чтобы задать размеры.
Далее самое интересное. В правой панели, подобно прямоугольнику уже будет задан цвет заливки фона (раздел Fill). Вы можете изменять размер фрейма старыми способами, потянув за край или задав точный размер в полях W (Width) и H (Height). Но теперь у нас есть новое выпадающие меню с шаблонами размеров в левом верхнем углу панели свойств – Frame. Просмотрите, какие шаблоны там есть и попробуйте применить хотя бы несколько из них.
Как поместить объекты внутрь фрейма
Есть несколько простых способов:
- Выделить и перетащить все объекты внутрь границ фрейма;
- Выделить, вырезать нужные объекты (Command + X на macOs или Ctrl + X на Windows) и вставить (Command + V на macOs или Ctrl + V на Windows) после того, как выделили фрейм.
После этих манипуляций объекты окажутся внутри фрейма, что будет видно по панели слоев, ведь вставленные объекты будут отображаться со смещением (как и в группах). Попробуйте выделить объект внутри фрейма, обратите внимание на значение координат X и Y – они изменились, ведь теперь левый верхний угол фрейма – это новое начало координат.
Простая маска – обрезаем содержимое фрейма
Используя опцию Clip content в панели свойств, можно обрезать содержимое по прямоугольной границе, которая зависит от ширины (параметр W – Width) и высоты фрейма (параметр H – height). Подобный прием называется маской. Таким образом можно скрыть часть объектов используя форму другого объекта, в нашем случае это фрейм и прямоугольная форма. Вот вам аналогия: вырезав квадратное отверстие в бумаге и наложив ее на фотографию вы получите пример использования маски в реальном мире.
Добавление сетки
Фреймы позволяют отображать вспомогательные сетки, которые можно гибко настраивать для облегчения выравнивания и позиционирования объектов. Для этого:
- Выделяем фрейм;
- Кликаем по плюсику + напротив раздела Layout Grid – отобразится сетка со стандартными настройками красного цвета с шагом в 10 пикселей;
- Нажимаем на иконку слева от надписи Grid (10px), чтобы настроить сетку. В выпадающем окне можем задать шаг сетки (Size), цвет линий (Color) и прозрачность;
- Сетку можно временно скрыть или удалить, нажав на иконку глаза или минус соответственно справа;
- Можно добавить несколько сеток разных цветов внутри одного фрейма при надобности.
- Чтобы временно скрыть сетки на всех фреймах нажмите Ctrl + G. Повторите комбинацию клавиш, чтобы показать их вновь.
Сетку можно использовать в качестве помощника для отрисовки форм, баннеров, иллюстраций. Ее главная прелесть заключается в том, что при перемещении объектов они как бы "приклеиваются" к линиям сетки, тем самым помогая вам установить объект в нужной позиции. С масштабированием такая же история – границы объекта прилипают к направляющим сетки.
В целом сетки используются достаточно редко. А вот колонки, о которых пойдет речь дальше – постоянно.
Добавление колонок и рядов
Вертикальные колонки очень часто используются в дизайне веб-страницы. Их настройка немного сложнее сетки:
- Выделяем фрейм;
- Кликаем по плюсику + напротив раздела Layout Grid – отобразится такая же стандартная сетка;
- Нажимаем на иконку слева от надписи Grid (10px). В выпадающем окне нажимаем на Grid в левом верхнем углу;
В выпадающем меню выбираем Columns. Сразу после этого кроме цвета и прозрачности появится ряд новых параметров:
- Count – количество колонок;
- Type – тип построения колонок. Можно выбрать одну из опций: Left – колонки размещаются по левому краю, Right – по правому краю, Center – выравниваются по центру, Stretch – растягиваются по всей ширине фрейма;
- Width – ширина колонки в пикселях. Этот параметр просчитывается автоматически если тип колонок выставлен в Stretch;
- Offset – отступ слева если тип колонок выставлен в Left. Для типа колонок Right это отступ соответственно справа. Для типа Stretch это отступ с обеих сторон. Этот параметр просчитывается автоматически для типа колонок Center;
- Gutter – расстояние между колонками.
Давайте настроим одну популярную сетку из фреймворка Bootstrap, которую часто используют разработчики при верстке веб-страниц. Для этого нам понадобится фрейм шириной в 1440 пикселей и высотой в 900 пикселей, что соответствует размерам экрана типичного ноутбука. Сама сетка в ширину составляет 1140 пикселей и состоит из 12 колонок. Ширина каждой колонки – 65 пикселей, а расстояние между ними – 30 пикселей.
Подобно сетке объекты будут прилипать к границам колонки, что очень удобно для быстрого выстраивания примитивов в одну линию и их выравнивания в блоках.
Кроме колонок существует возможность задавать ряды. Для этого достаточно выбрать Rows в выпадающем меню. Все параметры идентичны колонкам, лишь Width (ширина) заменена на Height (высоту). Мне не приходилось использовать этот вид сетки, но возможно в редких случаях он может быть полезен.
Направляющие и линейка
Всевозможные виды сеток прилично облегчают работу дизайнера, но существует еще более полезный инструмент – направляющие. Это вертикальная или горизонтальная линия, которую дизайнер может выставить в произвольном месте. Таких линий может быть много и вы можете воссоздать любую сетку используя лишь направляющие. К этим линиям будут прилипать объекты, как и к сеткам. Чтобы создать направляющую:
- Выделяем фрейм, если вам нужна линия именно внутри фрейма;
- Включаем линейку с помощью комбинации клавиш Shift + R. Она появляется сверху и слева по краям рабочей области и показывает границы выделенных объектов в пикселях. Запомните, что направляющие отображаются только с включенной линейкой;
- Кликаем и зажимаем левую кнопку мыши внутри верхней или левой линейки, чтобы создать горизонтальную или вертикальную направляющую соответственно;
- Тянем курсор к центру экрана. Как только вы выйдете за границы линейки на рабочей области появится направляющая. Тяните ее в нужную вам точку;
- Отпускаем левую кнопку мыши, чтобы зафиксировать позицию направляющей;
Чтобы изменить положение направляющей, перетащите ее в новую позицию.
Чтобы удалить направляющую, нужно ее выделить, кликнув по ней. Выделенная линия закрасится в синий цвет. Далее нажимаем кнопку Delete на клавиатуре. Также можно просто перетащить направляющую на область линейки и она тоже будет удалена.
Чтобы временно скрыть все направляющие скройте линейку с помощью клавиш Shift + R.
А теперь важный момент. Как вы помните из предыдущего урока, предварительно выделив любой объект и зажав кнопку Option в MacOs или Alt в Windows, можно увидеть точное расстояние в пикселях, подведя курсор к другому объекту. Так вот, этот же прием работает и для направляющих, что бывает очень кстати. Давайте посмотрим, как это выглядит на практике (приклеивание объектов к направляющим и подсказки о расстоянии до направляющих):
Примеры использования фреймов
На этом перечень возможностей фреймов не заканчивается, но прежде чем продолжить, давайте посмотрим несколько типичных примеров их использования. Итак, фреймы часто используются, как контейнеры для:
- Дизайна веб-страниц различных устройств (настольный пк, ноутбук, смартфон);
- Дизайна экранов мобильных приложений для планшетов, смартфонов, умных часов;
- Набора базовых цветов;
- Набора компонентов интерфейса (кнопки, переключатели, иконки, слайдеры, карточки, шапка, подвал сайта и так далее);
- Набор шрифтов для типографики (всевозможные начертания и размеры);
- Материалов социальных сетей (сторис, посты, баннеры, иллюстрации, инфографика).
Поведение содержания фрейма при изменении размера
Если объект находится внутри фрейма, то вы можете указать, как ему себя вести при изменении размеров фрейма. Эта возможность называется constraint (читается констрэйнт), что переводится, как ограничитель. Он задает, поведение при изменении размера фрейма:
- Позволяет закрепить позицию объекта по вертикальной или горизонтальной стороне фрейма. В таком случае при растягивании фрейма он сохранит свой размер;
- Или растянет объект по ширине и/или высоте фрейма.
Будет проще понять на примере. Посмотрите на два квадрата внизу. Экземпляр слева помещен в фрейм. Экземпляр справа находится в группе вместе с бежевым прямоугольником, который служит фоном. Попробуем поочередно изменить размер фрейма и группы. Обратите внимание, что слева квадрат сохраняет размер и приклеивается к нижней стороне фрейма, в соответствии с выбранным ограничением. При выделении появляются пунктирные линии, которые указывают какие ограничители активны. Справа при выделении квадрата никаких вспомогательных линий не показывается, все составляющие части группы растягиваются.
Возникает резонный вопрос: зачем эта возможность нужна? Ведь можно сделать несколько фреймов различных размеров экранов для одной и той же страницы и таким образом показать, как будет вести себя содержимое. Польза этой функции проявляется при использовании компонентов.
Первое знакомство с компонентами
Компоненты – это специальный вид объектов, которые создаются на основе фреймов для построения часто используемых элементов интерфейса. Звучит сложно, но по сути с помощью компонентов создают шаблоны кнопок, выпадающих меню, навигации и прочего. Чтобы в дальнейшем не рисовать каждый раз, к примеру, кнопку, вы копируете компонент кнопки, выставляете нужный размер и цвет, меняете текст – готово! Наборы таких компонентов в терминологии Figma называются библиотекой компонентов. А у дизайнеров они называются UI Kit (читается юай кит).
Зачем же так все усложнять? На самом деле компоненты способны сэкономить десятки часов работы. Представьте себе ситуацию: у вас есть 50 экранов веб-приложения. На каждом из них есть кнопки. Вдруг вам прилетает правка "скруглить все кнопки". Если дизайн создавался с помощью компонентов, то вам будет достаточно изменить лишь родительский компонент (шаблон кнопки), а все остальные изменения произойдут автоматически. Если все делалось без компонентов, то вам прийдется вручную изменить каждую кнопку.
В этом и заключается вся мощь компонентов. А ограничители (Constraints) играют здесь одну из ключевых ролей.
Компонентам у нас будет посвящен отдельный урок, не стоит пугаться их сложности. Более того, у компонентов есть и другие особенности, которые мы будем постепенно затрагивать. Сейчас мы лишь подготавливаем фундамент для дальнейшей работы. А пока, чтобы понять пользу компонентов, посмотрите на пример ниже. Сверху находится компонент-родитель (шаблон), а внизу три компонента-ребенка, которые наследуют его свойства. В самом низу находится кнопка, сделанная на основе обычного фрейма. Изменяя родительский компонент, мы автоматически меняем всех "детей".
Как видите, нижняя кнопка осталась нетронутой, так как это просто фрейм, а не компонент. Надеюсь у вас уже сложилось первое впечатление о компонентах и их пользе в работе дизайнера.
Пока вы не умеете создавать компоненты, так как нужно сначала в полной мере понять, как работают ограничители внутри фрейма. Поэтому возвращаемся к ним.
Виды ограничителей (Constraints)
Давайте создадим несколько кнопок внутри фреймов с различными настройками ограничителей.Рассмотрим самые простые из них:
Вертикальные ограничители:
- Top – объект прилипает к верхнему краю фрейма;
- Center – объект центрируется по высоте фрейма;
- Bottom – объект прилипает к нижнему краю фрейма.
Горизонтальные ограничители:
- Left – объект прилипает к левому краю фрейма;
- Center – объект центрируется по ширине фрейма;
- Right – объект прилипает к правому краю фрейма.
Я создала 9 фреймов (кнопок) со всеми возможными комбинациями вышеописанных ограничителей. Посмотрите, как ведут себя объекты внутри фреймов при масштабировании.
Существует еще несколько видов ограничителей:
- Left & Right – вид горизонтального ограничителя. Заставляет левый край объекта прилипнуть к левой стороне фрейма, а правый край – к правой стороне фрейма. Позволяет растягивать объект по ширине с фиксированными отступами слева и справа;
- Top & Bottom – вид вертикального ограничителя. Заставляет верхнюю грань объекта прилипнуть к верхней стороне фрейма, а нижнюю грань – к нижней стороне фрейма. Позволяет растягивать объект по высоте с фиксированными отступами сверху и снизу;
- Scale – объект растягивается пропорционально фрейму по ширине и/или высоте. В этом случае отступы до фрейма не фиксируются, а будут меняться пропорционально размеру фрейма.
Поэкспериментируйте с различными комбинациями ограничений и убедитесь, что вы понимаете, как они работают. Если остались вопросы, оставляйте комментарий или пишите в директ. Тема непроста для новичков.
Страницы и файлы
Кроме фреймов в Figma существуют структурные единицы и высшего порядка:
- Страницы – содержат фреймы внутри себя;
- Файлы – состоят из страниц;
Все это время мы работали внутри единственной страницы одного файла. Чтобы создать новую страницу:
- Кликаем на название текущей страницы Page 1 в правом верхнем углу левой панели, чтобы показать список всех страниц;
- Кликаем на плюсик +, чтобы создать новую страницу;
- Вводим название новой страницы;
- Нажимаем Enter, чтобы сохранить название.
Теперь можно работать с новой страницей, переключиться на другую страницу, кликнув по названию или скрыть панель страниц, кликнув по названию выбранной страницы в верхнем правом углу левой панели. Кроме того, нажав правой кнопкой мыши по названию страницы можно:
- Copy Link to Page – скопировать ссылку на страницу в буфер обмена, чтобы поделиться;
- Duplicate Page – сделать копию;
- Delete Page – удалить. Эта команда доступна только если у вас есть хотя бы две страницы;
- Rename Page – переименовать страницу. Как и со слоями, работает двойной клик.
Посмотрим, как выглядит работа со страницами на практике:
Чтобы создать новый файл, нужно:
- Перейти к списку файлов, нажав на иконку главного меню в верхнем левом углу в браузерной версии Figma, а потом выбрав первый пункт в выпадающем меню Back to Files;
Оказавшись на главном экране слева вы увидите список разделов:
- Ваше имя – самый первый пункт сверху. Здесь вы можете настроить свой профиль: изменить отображаемое имя, почтовый адрес и пароль. Остальные настройки сейчас неважны;
- Search – поиск по проектам по названию. Когда у вас будет очень много файлов, этот раздел может оказаться полезным;
- Recent – недавно открытые файлы. Все упорядочено в хронологическом порядке. Сверху недавно использованные файлы;
- Community – наработки сообщества: шаблоны, плагины и другие полезности. О них поговорим в следующих уроках, еще слишком рано;
- Drafts – полный перечень всех файлов, с которыми вы работали.
- Кликаем по разделу Drafts. Появится список всех файлов;
- Нажимаем на плюсик + в правом верхнем углу или напротив Drafts. Будет создан новый файл с названием Untitled;
- Сделайте двойной клик по названию файла сверху по центру, введите новое название и нажмите Enter, чтобы подтвердить;
- Готово! Вы только что создали новый файл.
Чтобы выбрать другой файл, достаточно назад перейти к списку файлов в раздел Drafts и выбрать интересующий файл в правой панели.
Организация страниц
Давайте посмотрим, из чего состоит типичный проект. В самом начале это единственная Page 1, но по мере разрастания появляются страницы с такими названиями:
- User flow name – название юзер флоу/сценария. То есть каждый отдельный сценарий размещается на отдельной странице. В некоторых случаях можно разместить несколько сценариев на одной странице, если они похожи (например, сценарии регистрации, сброса пароля, входа на сайт);
- References/Moodboards – референсы от клиента и созданные на их основе мудборды. Также здесь может разместится входящая информация по проекту;
- Thumbnail – страница с обложкой проекта, которая отображается на превьюшке в разделе Drafts/Recent. Чтобы ее применить нужно создать фрейм размером в 1920х960 пикселей, отрисовать саму обложку и в выпадающем меню по правому клику на фрейме выбрать Use as Thumbnail;
- Components – страница с используемыми компонентами. Часто приходится импортировать целые библиотеки компонентов, в таком случае пишется название библиотеки и ее версия. Например Ant Design UI Kit (1.2) (ant.design v4 update) (Light Theme);
У каждого дизайнера свои правила и привычки именования и структурирования страниц, строгих догм здесь нет. Я лишь показала, как это выглядит в некоторых случаях у меня. Другой пример: создают страницу UI с кучей экранов (фреймов) финального дизайна и UX – для всех вайрфреймов.
Иерархия проекта
Обычно хватает одного файла, но на больших проектах иногда по отдельным файлам распределяют дизайн по платформам. Например: Web, Mobile, Desktop. Иногда в отдельный файл выносят библиотеку компонентов, но учтите, что в таком случае вам понадобится платная подписка.
Для новичка будет достаточно одного файла на проект. С опытом в какой-то момент вы сами сообразите, что вам тесно и копание в десятках страниц отнимает уйму времени.
Домашнее задание
Домашние задания больше не проверяются для граждан россии. Чтобы убедиться, что вы не из россии, после того как оставите комментарий с домашним заданием в конце урока на сайте, напишите мне в директ Инстаграмм @frusia.pro
- Выберите сайт на свое усмотрение и отрисуйте его шапку (хедер), подвал (футер) или любую другую его часть с использованием ограничителей (Constraints). Ваша задача настроить содержание фрейма таким образом, чтобы часть элементов прилипала к левой стороне, а другая часть к правой. Например, логотип может использовать ограничители Top и Left. Правильно выполненное задание должно содержать по фрейму для каждой части сайта (отдельный фрейм для хедера, отдельный фрейм для футера и так далее). А уже все эти фреймы должны находиться внутри еще одного фрейма (дизайна сайта);
- Создайте 9 кнопок со всеми возможными комбинациями перечисленных ограничителей: top, center, bottom, left, right. Пример смотрите в разделе Виды ограничителей (Constraints) этого урока. Каждая кнопка должна находиться внутри отдельного фрейма и содержать как минимум заливку и текст;
- Нарисуйте форму обратной связи. Там должны быть поля "Имя", "Email", "Сообщение" и кнопка "Отправить". Поля должны тянуться вместе с формой, когда изменяем ее ширину. Подсказка: пригодится ограничение left & right. Сделайте отдельный фрейм для формы обратной связи.
Чтобы проверить эту домашку мне понадобится доступ к файлу Figma с возможностью вносить правки, чтобы посмотреть на структуру фреймов и выставленные ограничители. Для этого убедитесь, что вы выбрали опцию can edit напротив Anyone with the link. Далее нажимаем на Copy link и присылаем мне в директ. Пожалуйста в дальнейшем все домашки присылайте с такими настройками. Если забыли, о том, как поделиться файлом писала в этом уроке.
Теперь вы имеете представление о фреймах, ограничителях и даже немного о компонентах. Убедитесь, что вы отлично разбираетесь во всех темах этого урока. Чаще всего вам прийдется использовать направляющие и сетки.
Материал очень сложный, особенно, что касается компонентов и ограничителей. Перечитайте спустя несколько дней, потренируйтесь. Это не усваивается на 100% с первого раза. Следующие уроки будут покороче, но я постараюсь писать их чаще.
Подписывайтесь на меня в Instagram @frusia.pro, будьте в курсе анонсов новых уроков, смотрите проверки домашек в сторис, задавайте вопросы, а также вас ждет множество полезных постов про дизайн.
Stay tuned!