Привет! Сегодня расскажу об одном из способов верстки оглавлений в Figma.
Figma – весьма продвинутый редактор с обширным функционалом. Как правило ее используют для создания макетов и прототипов приложений и сайтов. Иногда Figma используют для верстки простой печатной продукции: буклеты, брошюры, визитки. Для упрощения навигации, в некоторых буклетах, требуется добавить оглавление в начале документа.
В данной статье пойдет речь о том как сверстать в Figma оглавление используя Auto layout.
Важно!
Данный способ поможет составить не автообновляемое оглавление, если у вас измениться количество и порядок страниц, оглавление придется поправить вручную.
Для начала давайте разберемся из чего состоит оглавление, это поможет нам понять механику процесса.

Оглавление содержит список страниц с разделами, а иногда и подразделами. Каждая строка отвечает за отдельный раздел и состоит из названия страницы, заполнителя и номера.
Итак, для создания оглавления давайте создадим три текстовых слоя: Name, Placeholder, Number. Выделим слои и применим к ним Auto layout. Слои автоматически сгруппируются в фрейм, к которому применится Auto layout.

Теперь когда слои сгруппированы, можно приступать к настройкам самого фрейма.

Выделяем фрейм, для него в блоке Resizing на боковой панели выставляем значения масштабирования по ширине и высоте на Fixed width и Fixed height соответственно, это позволит нам в дальнейшем избежать произвольного растягивания фрейма по контенту.
Далее переходим к нашим слоям. Для каждого слоя поставим следующие параметры:

Возможно, вы уже заметили, что для слоев Name и Number остались дефолтные настройки, а вот у слоя Placeholder в блоке Resizing параметр масштабирования по ширине стоит Fill container. Этот параметр позволяет слою с заполнителем растягиваться на всю доступную ширину родительского фрейма.
Для наглядности давайте растянем наш фрейм до 650px и зададим высоту в 20px. Как вы можете наблюдать слой Number остался как бы привязан к правому краю, а слой Placeholder занимает всю доступную ему ширину. Следующим шагом заменим текст в слое Placeholder на массив точек, желательно поставить побольше точек, т.к. когда мы будем менять имя и номер страниц слой будет растягиваться или сжиматься. Главное чтобы при коротком имени и однозначном номере страницы хватило точек чтобы заполнить строку. Нет ничего страшного в том что точки переносятся на новую строку, это поправимо. Чтобы скрыть их в параметрах нашего фрейма поставим галочку Clip content тем самым отрежем все что выходит за границы фрейма.

На выходе мы получаем строку в которой можно менять название страницы, ее номер, а заполнение между ними автоматически подстроится под новые данные.
Далее, для удобства работы, можно создать компонент из фрейма, вынести его за предел страницы, а на страницу перенести его инстанс, дублировать его сколько необходимо, выделить все дубликаты и обернуть их в Auto layout для удобства верстки.
Ссылка на документ в Figma, где проиллюстрированы все шаги:
Спасибо за внимание, буду признателен, репостам и комментариям!
До скорой встречи!
Подписывайтесь на мой Telegram-канал – проводник в мир IT и Web-разработки. Уроки, лайфхаки, личные кейсы, ссылки и обзоры на полезные сервисы.