Совместная работа над стилями: Git, BEM, Figma-токены, Storybook
Почему совместная работа над стилями — это важно? 🤝
Представьте: три разработчика правят один CSS-файл, дизайнер обновляет макеты, а менеджер хочет «просто поменять кнопку». Без правил — это хаос! Вот инструменты, которые спасут ваш проект:
Git: контроль версий для стилей
Git — не только для кода. CSS-файлы тоже должны быть под его защитой:
/* Плохо: */
.button { background: red; }
/* Хорошо (осмысленные коммиты): */
.feature/add-primary-button {
.button {
background: var(--color-primary);
}
}
💡 Совет Данилы Бежина: Делите изменения на атомарные коммиты. "Исправил отступы в хедере" — лучше, чем "Поправил стили".
BEM: говорим на одном языке
BEM (Блок-Элемент-Модификатор) — это как LEGO для CSS. Пример:
/* Блок */
.card {
border: 1px solid #eee;
}
/* Элемент */
.card__title {
font-size: 1.2rem;
}
/* Модификатор */
.card--featured {
border-color: gold;
}
Правила BEM:
__— разделитель элемента (card__button).--— модификатор (button--disabled).- Никаких каскадов глубже 2 уровней!
🔥 Фишка: BEM + Sass = мощь. Используйте
&для вложенности:
.card {
&__title { color: blue; }
&--featured { border-width: 2px; }
}
Figma-токены: дизайн-система в коде
Figma Tokens Plugin превращает цвета, шрифты и отступы в готовый CSS/SCSS.
1. Настройте токены в Figma:
{
"color": {
"primary": "#4CAF50"
}
}
2. Экспортируйте в код:
:root {
--color-primary: #4CAF50;
}
Плюсы:
- Дизайнер изменил цвет → токены обновляются автоматически.
- Нет расхождений между макетом и вёрсткой.
Storybook: UI-библиотека для команды
Storybook — это каталог компонентов, где можно:
- Тестировать изолированные компоненты.
- Документировать правила использования.
Пример для кнопки:
// Button.stories.js
export const Primary = () => (
<Button variant="primary">Click me</Button>
);
Что добавить в Storybook:
- Все состояния (hover, disabled).
- Пропсы и их типы.
- Примеры из реального интерфейса.
Как это работает вместе?
Идеальный поток:
- Дизайнер создаёт токены в Figma.
- Разработчик импортирует их в CSS-переменные.
- Компоненты пишутся по BEM и тестируются в Storybook.
- Вся история изменений — в Git.
Реальный пример:
// Используем Figma-токены и BEM
.button {
background: var(--color-primary);
&--disabled {
opacity: 0.5;
}
}
Итог: 4 столба порядка
- Git — контроль изменений.
- BEM — именование без боли.
- Figma Tokens — дизайн → код за минуты.
- Storybook — документация и тесты.
🎯 Главное: инструменты экономят часы рутинной работы. Попробуйте внедрить хотя бы один — и команда скажет вам спасибо!