1. Введение в Tailwind CSS: Установка, настройка окружения и философия Utility-First
Введение в Tailwind CSS: Установка, настройка окружения и философия Utility-First
Добро пожаловать в курс Tailwind CSS: От основ до профессиональной верстки. Мы начинаем наше путешествие с фундаментальных понятий. Если вы привыкли писать CSS, создавая семантические классы вроде .btn-primary или .sidebar-wrapper, то Tailwind CSS может показаться вам чем-то радикально новым и даже немного странным. Однако, как только вы поймете философию этого инструмента, вы, вероятно, уже не захотите возвращаться к традиционным методам.
В этой статье мы разберем, что такое Utility-First подход, почему он стал стандартом индустрии, и подготовим ваше рабочее место к созданию современных интерфейсов.
Что такое Tailwind CSS?
Tailwind CSS — это CSS-фреймворк, ориентированный на утилитарные классы (utility-first). В отличие от Bootstrap или Foundation, которые предоставляют готовые компоненты (кнопки, навигационные панели, модальные окна), Tailwind предоставляет низкоуровневые строительные блоки.
Представьте, что Bootstrap — это набор готовой мебели из IKEA, которую вы просто расставляете в комнате. Tailwind же — это набор досок, винтов, краски и инструментов. Вы можете собрать из них абсолютно любую мебель, которая идеально впишется в ваш уникальный интерьер, но для этого нужно понимать, как соединять детали.
Философия Utility-First
Традиционный подход к написанию CSS (например, BEM) предполагает разделение структуры (HTML) и стилей (CSS). Вы придумываете имя класса, добавляете его в HTML, а затем идете в CSS-файл и описываете свойства.
Подход Utility-First предлагает другое решение: вы используете предопределенные классы, каждый из которых выполняет ровно одну функцию.
!Визуальное сравнение кода при использовании семантических классов и утилитарных классов Tailwind
Рассмотрим разницу на примере кнопки.
Традиционный CSS:
HTML:
CSS:
Tailwind CSS:
HTML:
На первый взгляд, второй вариант кажется загроможденным. Зачем писать столько классов прямо в HTML? Однако у этого подхода есть огромные преимущества:
.sidebar-inner-wrapper и .content-sidebar-box.Единицы измерения и дизайн-система
Tailwind не просто дает классы, он навязывает определенную дизайн-систему. Например, отступы (margin, padding) базируются на шкале, кратной 4. Это помогает поддерживать визуальный ритм.
В Tailwind часто используется единица измерения rem. Для понимания масштаба полезно знать формулу перевода:
Где — итоговое значение в пикселях (при стандартном размере шрифта 16px), а — числовое значение в классе Tailwind.
Например, класс p-4 означает padding размером 4 единицы шкалы. Подставляем в формулу: пикселей. Класс m-2 (margin) будет равен 8 пикселям.
Установка и настройка окружения
Для профессиональной работы мы будем использовать установку через npm (Node Package Manager). Это позволит нам использовать все возможности фреймворка, включая кастомизацию конфига и оптимизацию размера файла.
Шаг 1: Подготовка
Убедитесь, что у вас установлен Node.js. Проверить это можно командой в терминале:
Если версия отобразилась, можно приступать. Создайте папку для проекта и инициализируйте его:
Шаг 2: Установка Tailwind CSS
Установим сам фреймворк и его зависимости как dev-зависимости:
Далее создадим файл конфигурации tailwind.config.js:
Шаг 3: Настройка путей к шаблонам
Это критически важный шаг. Tailwind использует JIT (Just-In-Time) движок. Он сканирует ваши HTML и JS файлы, находит там классы Tailwind и генерирует CSS только для тех классов, которые вы реально использовали. Чтобы это работало, нужно указать, где лежат ваши файлы.
Откройте файл tailwind.config.js и отредактируйте массив content:
Эта запись означает: «Ищи классы во всех файлах с расширением .html и .js внутри папки src и всех её подпапках».
Шаг 4: Добавление директив Tailwind
Создайте файл src/input.css и добавьте в него три директивы:
Эти директивы сообщают компилятору, куда вставлять базовые стили (сброс стилей браузера), стили компонентов и утилитарные классы.
Шаг 5: Запуск процесса сборки
Теперь запустим CLI инструмент, чтобы он следил за изменениями и компилировал CSS:
* -i (input): входной файл.
* -o (output): выходной файл, который мы подключим к HTML.
* --watch: режим наблюдения, чтобы не перезапускать команду при каждом сохранении.
Теперь создайте файл src/index.html и подключите сгенерированный CSS:
Если вы откроете этот файл в браузере и увидите синий заголовок — поздравляю, вы настроили окружение!
Инструменты разработчика: VS Code Extension
Писать классы Tailwind без подсказок сложно, так как их тысячи. Для комфортной работы обязательно установите расширение для VS Code:
> Tailwind CSS IntelliSense > Ссылка на расширение в Marketplace
Оно предоставляет:
* Автодополнение: Начните писать text-re, и оно предложит text-red-500, text-red-600 и покажет цвет квадратиком.
* Линтинг: Подсвечивает ошибки и дублирующиеся классы.
* Предпросмотр CSS: При наведении на класс вы увидите, какой именно CSS-код за ним стоит.
!Работа расширения Tailwind CSS IntelliSense с автодополнением классов
Заключение
Мы разобрали философию Utility-First, которая меняет подход к верстке от написания CSS-правил к компоновке готовых утилит. Мы также настроили профессиональное окружение с использованием Node.js и Tailwind CLI.
В следующей статье мы погрузимся в систему отступов, размеров и типографику, чтобы начать строить реальные макеты.