8 лучших практик в дизайне карточек

Карточки — один из базовых UI-элементов, без которого не обходится практически ни один интерфейс.

Как вы думаете, какой должна быть идеальная карточка? Сегодня я поделюсь с вами лучшими практиками в этой области. Давайте начнем с общего обзора UI-карточек и способов их применения.

Карточка — это компонент интерфейса, который визуально обозначает группу логически связанных между собой элементов Обычно она содержит заголовок, краткое описание, резюмирующее содержание итоговой страницы, изображение (необязательный элемент), а также кнопку или "призыв к действию".

Базовая анатомия карточки

Где могут использоваться карточки?

  • Страницы каталогов товаров: крупные сайты электронной коммерции, такие как Amazon, Alibaba, Walmart и eBay, используют карточки для демонстрации товаров. Обычно карточка товара включает изображение, название, цену, скидку и "призыв к действию", клик по которому открывает страницу с подробной информацией о товаре.
Amazon, Alibaba, eBay и Walmart
  • Контентные сайты (новостные ресурсы, социальные сети) используют карточные лейауты для единообразного оформления всех историй, чтобы

пользователь мог быстро просканировать, сравнить их и выбрать что-то одно для чтения или просмотра.

Behance, Dribbble, CNN и BBC
  • Визуализации в дашборде: дашборд — хороший пример того, как можно использовать карточки для группировки связанных данных таким образом, чтобы пользователь мог быстро и без усилий сравнивать и анализировать их.
Mixpanel и Dribbble
  • Сайты-коллекции: просмотр и изучение таких огромных коллекций, как Pinterest и Unsplash, — по-настоящему увлекательное занятие, ведь карточный лейаут с большими изображениями притягивает взгляд пользователя. Именно поэтому карточки стали таким популярным компонентом веб- и мобильных приложений.
Pinterest и Unsplash
  • Инструменты для совместной работы: карточки — гибкий компонент, они могут объединять различные типы информации и дочерние элементы. Например, такие инструменты, как Figma, Miro и Framer, используют карточки для представления проектов и файлов. Эти карточки интерактивны и функциональны — пользователи без труда могут получить доступ к действиям, связанным с файлами, кликнув по ним правой кнопкой мыши.
Figma и Miro

Лучшие практики

Существует множество руководств и дизайн-библиотек, которые могут послужить источником вдохновения для дизайна ваших карточек, однако я хотела бы выделить те особенности, которым зачастую не уделяют должного внимания. Надеюсь, вы найдете мои советы полезными и интересными!

1. Обеспечьте хороший контраст между карточкой и фоном. Чтобы эффективнее отделить карточку от фона, вы можете добавить ей рамку или тень.

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

💁 Несколько советов по выбору размеров шрифта, которые помогут вам выстроить визуальную иерархию:

  • Для заголовков используйте шрифт размером от 20px до 96px или больше, в зависимости от габаритов карточки и контекста.
  • Подзаголовок должен быть на 2px–10px меньше, чем основной заголовок, чтобы их можно было без труда различить.
  • Для основного текста размер шрифта должен быть не менее 16px. В некоторых случаях он может быть меньше, если вы используете шрифт с более крупными символами. Например, в руководстве Google Material Guidelines определены 2 размера основного текста: 14px и 16px.
  • Для подписей кнопок размер шрифта не должен быть меньше размера основного текста. Если вам нужно отобразить несколько опций, для основных действий используйте более заметные начертания (полужирный/жирный шрифт), а для второстепенных — менее заметные (обычный/средний).
  • Постарайтесь ограничить количество размеров шрифта. Для этого можно использовать типографическую шкалу, например, плагин Figma Type scale или специальный веб-инструмент.

3. Разработайте систему отступов. Отступы — это промежутки между элементами интерфейса, они обеспечивают их визуальную группировку и поддерживают иерархию. Если вы хотите избежать хаоса в ваших дизайнах и сделать их последовательными, вам необходимо создать систему отступов. Кроме того, так вы существенно упростите жизнь разработчикам.

💁 Еще несколько советов:

  • Выберите базовую единицу, которую вы будете использовать для вычисления размеров отступов между UI-элементами. Обычно это 4px (0.25rem). Не рекомендуется брать нечетные числа, например, 5px, поскольку на устройствах с 1,5-кратным DPI (количество точек на дюйм) такие отступы будут масштабироваться до 7,5px, что приведет к размытости.
  • Определите ограниченное количество значений для отступов, используя базовую единицу в качестве инкремента или множителя, как, например, в библиотеке Tailwind.
  • Дополнительный совет для Figma: изменив значение "Big Nudge" с 10px на 8px, вы сможете перемещать компонент на 8px (это как раз в 2 раза больше базовой единицы), нажав клавишу Shift и клавишу со стрелкой. Это очень экономит время!

Если вам хочется больше узнать о системе отступов, ознакомьтесь с этой замечательной статьей.

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

Еще пара примеров скелетных состояний загрузки:

Figma и Vimeo

5. Определите фиксированную высоту карточек. Предположим, вам нужно спроектировать 2 карточки, на одной из которых должно быть 4 строки текста, а на другой — 1 строка. Лучший способ решить эту задачу — определить единую высоту, оставив больше свободного пространства на карточке с меньшим количеством контента и сделав текст усеченным на карточке с большим количеством контента.

6. Используйте сетки для карточных лейаутов. Сетки — основа любого карточного лейаута. Они помогают единообразно расположить контент, и именно поэтому они так полезны, когда речь идет о дизайне карточек. Например, с помощью сетки вы можете увеличить ширину карточки до необходимого количества столбцов. Если вы разрабатываете отзывчивый дизайн, необходимо создать сетку для каждой контрольной точки (breakpoint) и расположить карточки соответствующим образом.

(1) Десктоп, (2) Планшет, (3) Мобильная версия

Вы можете узнать больше об отзывчивых сетках из руководства Material Guidelines или Intuit Design System.

❓🙋 Вопросы, на которые следует ответить в ходе разработки отзывчивого карточного лейаута:

  • Выглядит ли содержимое карточек единообразно во всех контрольных точках? (десктоп, планшет, мобильные устройства)
  • Единообразны ли отступы между карточками и внутри них?
  • Учитываете ли вы взаимодействия? Повлияют ли они на размер карточки и расстояние между карточками?
  • Учитываете ли вы длинные заголовки/названия? Как они отразятся на содержимом карточки?

💁 Несколько советов для тех, кто работает в Figma:

  • Используйте панель Constraints (привязки), чтобы определить, как элементы внутри карточек должны реагировать на изменение размера фреймов.
  • Примените к карточкам функцию Auto Layout, чтобы они автоматически меняли размер в зависимости от содержимого.
  • 8-пиксельная сетка позволяет точно расположить элементы в макете и сделать их размер кратным 8. Читайте больше о 8-пиксельных сетках здесь.

7. Разработайте несколько вариантов дизайна карточек с разным объемом контента. Если вы заранее знаете, что карточки могут содержать разный объем контента, предусмотрите это в своем дизайне. Это поможет разработчику в дальнейшем правильно написать код, не нарушая выравнивание контента.

8. Определите для карточек возможные взаимодействия, чтобы улучшить UX.  UI-взаимодействия — это действия, которые происходит, когда пользователи взаимодействуют с элементами интерфейса при помощи сенсорного экрана, мыши или клавиатуры. Состояние — это визуальная обратная связь, которая отображается на экране в результате того или иного взаимодействия.

Как и многие другие UI-элементы (кнопки, текстовые поля, выпадающие списки и т.д.), карточки имеют ряд состояний, которые меняются в зависимости от контекста использования, поэтому необходимо разработать стили для всех популярных взаимодействий. 

Давайте рассмотрим наиболее распространенные состояния карточек:

  • По умолчанию (default): карточка находится в обычном состоянии без взаимодействий.
  • Наведение (hover): пользователь наводит на карточку курсор мыши.
  • Нажатие (active): если карточка является кликабельной, и пользователь нажимает на нее, стиль карточки должен быть изменен, чтобы показать, что компонент активирован (по аналогии с кнопками).
  • Фокус (focus): карточки выделяются, когда пользователи взаимодействуют с ними при помощи клавиатуры или голосового управления. Стандартное обозначение этого состояния в сети — синяя рамка, но вы можете выбрать свой собственный оттенок, соответствующий фирменному стилю компании, только убедитесь, что коэффициент контрастности цвета по отношению к цвету фона составляет не менее 3:1.
  • Выбрана (selected): карточка выбрана с помощью элементов управления (радиокнопки / чекбоксы).
  • Перетаскивание (dragged): пользователи захватывают карточку касанием или кликом и удерживают ее.

Карточки — популярный компонент, который можно встретить в большинстве веб- и мобильных приложений. Учась друг у друга и обмениваясь опытом, мы можем сделать их более эстетичными, эффективными и доступными ⭐️

Источник:
Medium
arrow