Что такое Tailwind CSS и как с ним быстро стилизовать интерфейс

6 минут чтения
Средний рейтинг статьи — 4.8

Tailwind CSS — это утилитарный CSS-фреймворк, который позволяет стилизовать интерфейс с помощью готовых классов, прямо в HTML или JSX/TSX. Он не навязывает компоненты, а даёт гибкие инструменты для быстрой и консистентной верстки.

В чём суть Tailwind CSS?

В отличие от других CSS-фреймворков вроде Bootstrap или Bulma, Tailwind предлагает не компоненты, а утилиты — маленькие CSS-классы, отвечающие за одну конкретную вещь: отступ, цвет, выравнивание, размер шрифта и т.п.

Пример кнопки на Tailwind CSS:

<button class="bg-blue-500 hover:bg-blue-600 text-white font-semibold py-2 px-4 rounded">
  Нажми меня
</button>

Здесь:

  • bg-blue-500 — цвет фона
  • hover:bg-blue-600 — изменение цвета при наведении
  • text-white — цвет текста
  • py-2 px-4 — вертикальные и горизонтальные отступы
  • rounded — скругление углов

Преимущества Tailwind CSS

  • Без головной боли с названиями классов: Нет необходимости придумывать и поддерживать сложные неймспейсы — стили создаются из готовых утилит.
  • Минимум CSS-кода: Уменьшается размер и сложность стилей за счёт отсутствия кастомных CSS-файлов.
  • Простая настройка: Tailwind легко кастомизируется — можно быстро создавать переиспользуемые компоненты без дополнительных стилей.
  • Оптимизированная адаптивность: Утилиты Tailwind отлично подходят для mobile-first дизайна.
  • Изоляция стилей: Благодаря утилитарному подходу, изменения касаются только нужного элемента, не ломая остальную верстку — в отличие от традиционного глобального CSS.

Почему Tailwind, а не Bootstrap?

В отличие от классических фреймворков вроде Bootstrap или Foundation, Tailwind делает ставку на атомарные утилиты, что даёт такие плюсы:

  • Точный контроль: Можно управлять стилями на уровне каждой детали без переопределений.
  • Быстрое прототипирование: Используя готовые классы, можно быстро собирать UI без боязни конфликтов стилей.
  • Меньше мусора: Tailwind автоматически удаляет неиспользуемые стили при сборке, что ускоряет загрузку страниц.
  • Простая адаптивность: Медиазапросы уже встроены в утилиты — можно легко управлять поведением элементов на разных экранах.
  • Отличная документация: Tailwind имеет чёткую структуру, хорошую документацию и предсказуемую систему классов — всё это сокращает время разработки.

Установка Tailwind CSS

npm install -D tailwindcss
npx tailwindcss init

Создайте файл tailwind.config.js, подключи его в PostCSS:

// postcss.config.js
module.exports = {
  plugins: {
    tailwindcss: {},
    autoprefixer: {},
  },
}

Создайте основной CSS-файл:

@tailwind base;
@tailwind components;
@tailwind utilities;

Использование с React/Next.js

Tailwind прекрасно работает с React. Пример:

export default function Card() {
  return (
    <div className="p-6 max-w-sm mx-auto bg-white rounded-xl shadow-md space-y-4">
      <h2 className="text-xl font-medium text-black">Привет!</h2>
      <p className="text-gray-500">Это карточка на Tailwind</p>
    </div>
  )
}

Как настроить тему под себя

Tailwind по умолчанию использует систему токенов: gray-100, blue-500, и т.д. Но ты можешь задать свои цвета и стили:

// tailwind.config.js
module.exports = {
  theme: {
    extend: {
      colors: {
        brand: '#0f172a',
      },
    },
  },
}

Теперь можно использовать bg-brand, text-brand и т.д.

Tailwind CLI и JIT

Tailwind поставляется с CLI и Just-In-Time-компилятором (JIT) — он генерирует только те стили, которые ты реально используешь, прямо во время разработки.

npx tailwindcss -i ./src/input.css -o ./dist/output.css --watch

Tailwind UI и shadcn/ui

Tailwind сам по себе — это только стили. Но существуют отличные надстройки:

  • Tailwind UI — платная библиотека от авторов Tailwind
  • shadcn/ui — бесплатные компоненты на основе Tailwind + Radix + React

FAQ

Можно ли использовать Tailwind с Vue/Svelte/Angular?
Да. Tailwind отлично интегрируется почти с любым фреймворком.

А не превращается ли HTML в кашу из классов?
Иногда да. Но можно использовать classnames, clsx, или выносить шаблоны в компоненты.

Можно ли кастомизировать дизайн под бренд?
Да, это одна из сильных сторон Tailwind. В tailwind.config.js можно задать любые цвета, шрифты, брейкпоинты и т.п.

Заключение

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

6 минут чтения
Средний рейтинг статьи — 4.8

Настроить мониторинг за 30 секунд

Надежные оповещения о даунтаймах. Без ложных срабатываний