Как сделать компонент с размерами 0 на 0 пикселей, и где это можно применить.
Наверное мало кто знал, но в фигме можно создавать фреймы размером 0x0 px. В таком фрейме можно размещать элементы и он все еще останется 0x0 px.
Зачем это нужно и где это можно применить?
- Для ограничения минимальной высоты или ширины элемента
- Для наложения одного элемента на другой внутри автолейаутов
- Для выноса элементов за границы автолейаута
Подробнее о способах применения я расскажу далее
Как сделать фрейм с нулевыми размерами?
- Создайте фрейм и выделите его.
- В панели настроек в поле "ширина" введите 0,0001 и нажмите Enter
- Готово. Теперь ваш фрейм имеет нулевую ширину. По такому же принципу можно сделать нулевую высоту.
Если в поле ввести именно "0" или "0,01" то Figma автоматически округлит значение до "1", это нам не подходит. Используйте значение с четырьмя знаками после запятой, для того чтобы произошло округление до ноля.
Важно значение должно быть именно с четырьмя или больше знаками после запятой. Это нужно чтобы значения нулевых фреймов не суммировались и не создавали размеры с дробными значениями в размерах.
Как не потерять фрейм?
Будьте осторожны, фремы с нулевыми размерами как девушки, которые любят пафосные цитаты, их трудно найти и легко потерять 😊
Поэтому я помещаю и храню такие компоненты внутри другого фрейма. Для удобства я добавляю фрейму красную обводку. Это позволяет быстро находить такие фреймы и не терять их.
Еще советую красить такие компоненты в специально созданный стиль, у меня он называется "0px". Благодаря этому стилю вы сможете найти все элементы с нулевыми размерами через плагин Similayer
Примеры использования
Далее я приведу несколько самых простых примеров где мы используем этот приём.
Минимальная ширина элемента
Кнопка остается одного размера по ширине если текст кнопки из 4 знаков или меньше. Если ввести слово длиннее 4 знаков, то кнопка начинает растягиваться по ширине. Минимальная ширина кнопки 88 px
Ссылка на макет с примером кнопки
Минимальная высота элемента
В алерте использован 0px компонент для ограничения минимальной высоты. Это нужно для того чтобы алерт растягивался по высоте только когда в нём три строки текста или больше. Если же в нём одна или две строки текста, то он не изменяется по высоте. Минимальная высота алерта 56 px
Ссылка на макет с примером алерта
Наложение элементов друг на друга внутри автолейаута
Разместите 0px фрейм справа или снизу от контента и поместите в этот фрейм кнопку. Так у вас получиться разместить кнопку поверх контента. Весь блок сделан с помощью автолейаутов.
Ссылка на макет с примером наложения элементов
Вынос элементов за границы автолейаута
Вынос элементов за границы автолейаута работает по тому же принципу, что и наложение одного элемента на другой внутри автолейаута
Ссылка на макет с примером выноса элементов
Есть ещё много способов как применить данный приём, перечислять их все думаю нет смысла.
В следующих статьях я подробней расскажу о том как мы создаем компоненты и о том где и как мы применяем подобные приёмы. А так же о том как мы создаем свою дизайн систему.
Спасибо
Если вы узнали что-то новое или статья была вам полезна - жмите лайк 👍 А если хотите узнать больше фишек — подписывайтесь, чтобы не пропустить новые статьи.