Переменные

Переменные

Цветовые переменные в Webflow и то, как Client-First использует их — стратегии, соглашения об именовании и практические советы по использованию.
Ограничение

⚠️ Мы решили не выпускать переменные размеров, так как в панели переменных отсутствует функция точек остановки (брейкпоинтов).

Когда Webflow добавит точки остановки, мы вернемся к панели переменных. На данный момент мы начинаем с явного преимущества переменных — Цветов.

Каковы преимущества использования цветовых переменных на вашем сайте?

Согласованность во всем проекте

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

Когда нам нужно выбрать цвет, цветовые переменные предоставляют нам список доступных вариантов на выбор.

Cкриншот 1 интерфейса Webflow для раздела Переменные

Простота обслуживания

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

В случае, если нам нужно обновить цвет бренда во всем проекте, это можно быстро сделать, изменив значение базовых значений цветов:

Используя переменные, мы также можем быстро и одновременно обновлять цвета в различных пользовательских компонентах и служебных классах:

Создание тем*

*Это отправная точка для будущих обновлений переменных Webflow.

Использование цветовых переменных упростит создание различных тем, включая темный/светлый режимы, когда Webflow добавит режимы (modes). Изменяя набор цветовых переменных, мы сможем легко переключаться между темами, что позволит создавать более динамичные и настраиваемые дизайны.

Cкриншот 2 интерфейса Webflow для раздела Переменные

Улучшение читаемости и организация

Использование цветовых переменных делает наш проект в Webflow более читаемым и организованным. Намного проще понять и запомнить цветовую переменную, такую как --primary-color, чем помнить конкретные коды цветов, такие как #FF5733.

Контекст использования

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

Если нам нужно добавить цвет текста к заголовку, мы можем быстро найти цвета текста проекта в разделе переменных «Text Color» (Цвет текста).

Базовые значения (Primitive tokens)

Базовые значения, представленные основными цветами, являются фундаментальными строительными блоками цветовой палитры дизайн-системы. Эти переменные отражают самый базовый уровень цветовых значений. Они служат основой для более сложных и специфических дизайнерских решений.

Они идентифицируются префиксом - Base Color (Базовый цвет):

Cкриншот 3 интерфейса Webflow для раздела Переменные

Как использовать базовые значения

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

⚠️ Избегайте прямой привязки базовых цветов к классам, если для этого нет веской причины.

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

Как группировать базовые значения

В стартовом проекте Client-First мы начинаем со следующих групп для базовых значений:

  • Цвета бренда (Brand colors)
  • Нейтральные цвета (Neutral colors)
  • Системные цвета (System colors)
Cкриншот 4 интерфейса Webflow для раздела Переменные

Каждый проект индивидуален. Client-First предлагает гибкость в группировке, позволяя вам переименовывать и перегруппировывать переменные в зависимости от проекта. В примере ниже приведены дополнительные варианты того, как можно группировать базовые значения.

Cкриншот 5 интерфейса Webflow для раздела Переменные

Как именовать базовые значения

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

Cкриншот 6 интерфейса Webflow для раздела Переменные

Если это не подходит для вашего проекта, вот несколько дополнительных примеров того, как вы можете называть свои базовые значения:

Cкриншот 7 интерфейса Webflow для раздела Переменные
Cкриншот 8 интерфейса Webflow для раздела Переменные
Cкриншот 9 интерфейса Webflow для раздела Переменные

Смысловые названия (Semantic tokens)

Смысловые переменные - это переменные, названия которых описывают назначение или роль цвета в дизайне, а не сам цвет. По имени смысловой переменной можно сразу понять, для чего она используется.

В Client-First все переменные, которые не содержат префикс - Base Color, относятся к смысловым.

Как использовать смысловые переменные

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

В примерах ниже показаны конкретные случаи, в которых стоит использовать такие переменные.

Для цвета фона используйте смысловые переменные Background Color:

Для цвета текста используйте смысловые переменные Text Color:

Для цвета границ используйте смысловые переменные Border Color:

Использование смысловых переменных в качестве служебных классов

Каждая смысловая переменная, созданная в проекте, при необходимости может использоваться как служебный класс. Такой подход позволяет быстро вносить изменения в отдельные элементы. В руководстве по стилю мы начинаем со следующих служебных классов, связанных со смысловыми переменными:

  • background-color-primary привязан к var(background-color--background-primary
  • background-color-secondary привязан к var(background-color--background-secondary
  • background-color-tertiary привязан к var(background-color--background-tertiary
  • background-color-alternate привязан к var(background-color--background-alternate
  • text-color-primary привязан к var(text-color--text-primary
  • text-color-secondary привязан к var(text-color--text-secondary
  • text-color-alternate привязан к var(text-color--text-alternate

По возможности избегайте привязки базового тега текстового элемента напрямую к смысловой переменной

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

Если нам необходимо применить смысловую переменную к текстовому элементу, в Client-First используется служебный класс inherit-color, чтобы переопределить стиль и наследовать его от родительского элемента. См. пример ниже:

Как называть смысловые переменные

Мы предлагаем называть смысловые переменные, используя следующее соглашение об именовании:

[элемент] - [стиль] - [идентификатор]

  • background - color - dark
  • text - color - primary
  • border - color - brand

Вопросы, которые стоит задать себе при именовании смысловых переменных

  • Элемент: К чему это добавляется?
  • Стиль: Какое значение или стиль изменяется?
  • Идентификатор: Какой идентификатор у этой переменной?

Ниже вы можете увидеть примеры смысловых переменных, которые можно использовать в вашем проекте:

Cкриншот 10 интерфейса Webflow для раздела Переменные
Cкриншот 11 интерфейса Webflow для раздела Переменные
Cкриншот 12 интерфейса Webflow для раздела Переменные

Как и в случае с базовыми значениями, дизайнеры и компании используют разные подходы к именованию. Выбирайте те названия и соглашения, которые наиболее понятны для проекта.

Не называйте смысловую переменную названием цвета

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

Cкриншот 13 интерфейса Webflow для раздела Переменные

Соглашение об именовании важно для создании тем в будущем

Названия переменных должны быть достаточно общими, чтобы соответствовать различным значениям для тем, таких как светлая или темная тема. В примере ниже показано, как это должно выглядеть:

Cкриншот 14 интерфейса Webflow для раздела Переменные

Если название цвета включено в переменную, соглашение об именовании будет несовместимо с другими названиями цветов, используемыми в разных режимах:

Cкриншот 15 интерфейса Webflow для раздела Переменные

Концепция основного и альтернативного

При именовании переменных рассмотрите возможность установки «темы» вашего сайта по умолчанию в качестве отправной точки.

Например, если переменная background primary представляет черный цвет black, вы можете использовать background alternate для представления белого цвета white — инверсии черного black.

Этот подход также можно применить к переменным Text Color. Например, text primary может представлять белый цвет white, в то время как text alternate может представлять черный цвет black, обеспечивая четкий контраст для использования на белом фоне.

Cкриншот 16 интерфейса Webflow для раздела Переменные

FAQ

Должен ли я следовать системе цветов и соглашениям об именовании, принятым у моего клиента?

Безусловно. Если у вашего клиента есть устоявшееся руководство по стилю, лучше всего придерживаться их системы цветов и соглашений об именовании. Это обеспечивает согласованность и соответствует их установленным стандартам брендинга.

Что делать, если файл дизайна в беспорядке и в нем нет организованной системы цветов?

Это, скорее всего, будет случаться часто. Некоторые дизайнеры или клиенты могут плохо структурировать свои цвета, и нашей задачей становится организовать их для создания более упорядоченного проекта. Чтобы понять, как это сделать, изучите разделы «Как называть базовые значения» и «Как называть смысловые переменные» выше.

Могу ли я просто использовать название цвета для смысловой переменной?

Это не рекомендуется. Если вы назовете переменную просто по её цвету, любое изменение цветовых схем или тем потребует переименования самой переменной. Вся суть смысловых переменных заключается в том, чтобы сохранять гибкость и простоту обновлений. Поэтому лучше выбирать названия, которые описывают роль переменной, а не только её цвет.

Как я могу узнать, какие переменные являются базовыми значениями?

Базовые значения (Primitive tokens) идентифицируются префиксом - Base Color.

Как я могу связать переменные со служебными классами?

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

Именование интеракций
Соглашение об именовании Интеракций Webflow.
Это неофициальный перевод документации Client-First. Мы используем эту систему в работе и стремимся сделать её доступнее для русскоязычных специалистов. Все права на оригинальную документацию принадлежат Finsweet.

Официальная версия доступна на сайте Finsweet.
Официальный стартовый проект Client-First доступен по ссылке.