как современные приложения делают красивыми — три подхода к стилям и почему вайб-кодеру это упрощает жизнь.
⏱ ≈ 6 минут🎨 CSS, Tailwind, UI🎯 цель: читать className с кучей классов без тревоги
Зачем это вам
Когда агент говорит «сделаем на Tailwind» или «возьмём shadcn», это не каприз — это выбор инструмента оформления. Понимая разницу между тремя подходами к стилям, вы сможете правильно поставить задачу, оценить результат и не пугаться разметки вроде className="flex p-4 rounded-lg bg-teal-600 text-white" — это не ошибка, это норма.
Три способа сделать красиво
CSS, Tailwind, UI-библиотека — в чём разница
В блоке 1 мы договорились: CSS — это «оформление, внешний вид» страницы. Но то, как именно этот CSS организован, бывает принципиально разным.
Обычный CSS — вы или агент пишете стили в отдельном файле styles.css: «кнопка — зелёная, с отступом 16px, скруглением 8px». Полный контроль над каждым пикселем, но каждый элемент нужно описывать с нуля. На крупном проекте — долго и трудно поддерживать единообразие.
Tailwind CSS1 — это фреймворк (готовый инструментарий) utility-классов (коротких классов-утилит). Вместо отдельного файла стилей вы задаёте оформление прямо в разметке через заранее заготовленные классы: p-4 — отступ, text-lg — крупный текст, bg-teal-600 — цвет фона. Быстро, единообразно по всему проекту, но разметка становится «шумнее» — классов много.
UI-библиотека компонентов2 — готовые оформленные компоненты: кнопки, модальные окна (всплывающие поверх страницы), формы. Вы просто подключаете библиотеку и используете готовый компонент <Button> или <Dialog> — он уже красив и стилизован. Популярные примеры: shadcn/ui, MUI (Material UI), Chakra UI.
📌 Практическое правило: если в коде есть файл tailwind.config.js или в package.json есть "tailwindcss" — проект использует Tailwind. Если есть "@shadcn/ui", "@mui/material" или "@chakra-ui/react" — подключена UI-библиотека.
Посмотрите в код
Как выглядит Tailwind в разметке
Вот настоящая Tailwind-кнопка — без единой строчки в отдельном CSS-файле:
Каждый класс — одна конкретная настройка: flex — расположить содержимое в ряд, p-4 — отступ со всех сторон, rounded-lg — скруглённые углы, bg-teal-600 — цвет фона, text-white — белый текст. Отдельный CSS-файл не нужен — всё прямо здесь.
«Красить и пилить с нуля»— обычный CSS: максимум контроля, дольше всего
«Каталог готовых смесей и панелей»— Tailwind: быстро комбинируете стандартные элементы прямо на месте
«Готовый мебельный гарнитур»— UI-библиотека (shadcn, MUI): привезли красивые шкафы, которые уже сочетаются
«Единый стиль во всей квартире»— дизайн-система: согласованный вид на всех экранах
Tailwind + UI-библиотека вместе — это «каталог смесей» плюс «готовый гарнитур»: быстро, красиво, единообразно — без отдельного дизайнера.
Запомните одно
Tailwind + UI-библиотека = быстрый красивый результат без дизайнера
Вот почему агент почти всегда выбирает именно этот стек: Tailwind даёт скорость и единообразие (не надо придумывать названия классов и писать CSS с нуля), а UI-библиотека даёт готовые компоненты, которые уже хорошо выглядят и сочетаются между собой.
Когда вы видите className с десятком слов — это не хаос. Это Tailwind-утилиты, каждая из которых отвечает за одну конкретную деталь оформления.
Что это даёт на практике
Фраза агента → что он имеет в виду
«Сделаем на Tailwind»
Буду стилизовать utility-классами прямо в разметке, без отдельного CSS-файла.
«Возьмём shadcn / MUI»
Подключу готовую библиотеку красивых компонентов — кнопки, формы, модалки уже оформлены.
«className с кучей классов»
Это Tailwind-утилиты: отступы, цвета, расположение — каждый класс за одну деталь.
«Приведём к дизайн-системе»
Сделаю единый согласованный стиль для всех экранов приложения.
CSS-подход — то, как организованы стили: вручную, utility-классами или через библиотеку компонентов.
Tailwind CSS — фреймворк utility-классов: стили задаются короткими классами прямо в разметке, без отдельного CSS-файла.
UI-библиотека компонентов — готовый набор оформленных компонентов (shadcn/ui, MUI, Chakra): берёте и используете.
Дизайн-система — единый набор правил и компонентов для согласованного вида на всех экранах.
Проверьте себя
Четыре вопроса с мгновенной проверкой
1. Что такое Tailwind CSS?
Верно. Tailwind — это фреймворк utility-классов: вместо отдельного CSS-файла вы пишете короткие классы прямо в HTML или JSX, и каждый класс отвечает за одну деталь оформления.
2. Что даёт UI-библиотека (shadcn / MUI)?
Верно. UI-библиотека — это коллекция готовых компонентов, которые уже красиво оформлены и сочетаются между собой. Вы берёте нужный компонент и используете — дизайн уже внутри.
3. Почему вайб-кодеру удобны Tailwind + UI-библиотека?
Верно. Tailwind убирает необходимость придумывать имена классов и писать CSS с нуля, а UI-библиотека даёт готовые компоненты с профессиональным дизайном — итого: быстро и красиво.
4. Агент написал className с десятком слов. Это, скорее всего…
Верно. Длинный className — это нормальный Tailwind-код. Каждый класс отвечает за одну деталь: отступ, цвет, размер шрифта, скругление. Чем больше классов — тем детальнее описано оформление.
Куда мы идём
Программа курса — 7 блоков
1Как устроен вебСайт/приложение, HTTP, URL, DOM✓ есть
2Где живут данныеСостояние, хранилище, база данных✓ есть
3Как приложения общаютсяAPI, JSON, REST✓ есть
4Фронтенд-слойReact / Next / Vite, компонентыВы здесь · урок 5 из 7✓ идём
5Секреты и безопасностьГде вайб-кодеры горят чаще всегодалее