Урок 01. Справочник: анатомия класса и базовые утилиты

📁 Раздел: Введение ⏱️ Время изучения: ~40 мин 🎯 Сложность: Начальная

⚡ Кратко

Имя утилиты читается по схеме вариант:свойство-значение: md:hover:bg-slate-100 — «на экранах от md, при наведении, фон slate-100». Ниже — минимальный набор утилит, которого хватает на первую страницу.

Анатомия имени класса

<button class="md:hover:bg-slate-900/80">
         │   │     │  │      │   └── прозрачность 80%
         │   │     │  │      └────── ступень палитры
         │   │     │  └───────────── цвет
         │   │     └──────────────── свойство (background-color)
         │   └────────────────────── состояние (hover)
         └────────────────────────── брейкпоинт (от 768px)

Порядок частей фиксирован: сначала варианты (их может быть несколько), потом сама утилита. Варианты подробно разбираются в уроке 12, брейкпоинты — в уроке 11.

Словарь урока

ТерминЧто значитПример
УтилитаКласс, отвечающий за одно CSS-свойствоp-4 → padding: 1rem
Вариант (модификатор)Приставка, ограничивающая применение утилитыhover:, md:, dark:
ШкалаНабор допустимых значений темы1=0.25rem, 4=1rem
Произвольное значениеЗначение вне шкалы, в квадратных скобкахw-[37px]
PreflightВстроенный сброс браузерных стилейубирает margin у h1
Реестр (shadcn)Каталог исходников компонентов для копированияnpx shadcn add button

Двадцать утилит для старта

КлассCSSЗачем
flexdisplay: flexГоризонтальная раскладка
griddisplay: gridСетка
hiddendisplay: noneСкрыть элемент
items-centeralign-items: centerВыравнивание по поперечной оси
justify-betweenjustify-content: space-betweenРазвести по краям
gap-4gap: 1remПромежуток между элементами
p-4 / px-3 / py-2padding со всех сторон / по горизонтали / по вертикалиВнутренние отступы
m-0 / mt-4margin / margin-topВнешние отступы
w-fullwidth: 100%Растянуть по ширине
max-w-smmax-width: 24remОграничить ширину блока
text-smfont-size: 0.875rem + парный line-heightРазмер текста
font-semiboldfont-weight: 600Начертание
text-slate-600color: …Цвет текста
bg-whitebackground-color: #fffФон
borderborder-width: 1pxРамка (цвет — отдельным классом)
border-slate-200border-color: …Цвет рамки
rounded-lgborder-radius: 0.5remСкругление
shadow-smbox-shadow: …Тень
hover:bg-slate-100то же при :hoverСостояние наведения
md:flexто же от 768pxАдаптивность
Полная шпаргалка по группам утилит — в справочнике «Шпаргалка утилит», значения шкал — в «Шкалы».

Как искать нужную утилиту

  1. Сформулируйте свойство на языке CSS: «мне нужен justify-content: center».
  2. Ищите по имени свойства в документации — она устроена по свойствам CSS.
  3. Проверьте в браузере: наведите на класс в DevTools и посмотрите сгенерированное правило.