Полезные статьи для
WordPress-разработчиков

Популярные названия классов HTML/CSS

названия классов CSS

Привет, коллеги!

Ниже собрал справочник популярных названий классов для HTML/CSS, дополнил его соглашениями БЭМ (Блок-Элемент-Модификатор), а также добавил разделы по цветам, карточкам товаров, преимуществам и другим частым паттернам.

БЭМ: Блоки, Элементы, Модификаторы

Синтаксис

  • .блок — независимый компонент
  • .блок__элемент — часть блока (два подчёркивания)
  • .блок—модификатор — модификатор блока (два дефиса)
  • .блок__элемент—модификатор — модификатор элемента

Примеры

.card {}                    /* блок */
.card__title {}             /* элемент */
.card__title--large {}      /* модификатор элемента */
.card--featured {}          /* модификатор блока */

Блоки (основные строительные элементы)

КлассОписание
pageкорневой элемент страницы
headerшапка (страницы или элемента)
footerподвал (страницы или элемента)
sectionраздел контента
bodyосновная часть
contentсодержимое элемента
sidebarбоковая колонка
asideблок с дополнительной информацией
widgetвиджет
mainглавное содержимое страницы

По БЭМ

.page {}
.page__header {}
.page__main {}
.page__sidebar {}
.page__footer {}

Раскладка (Layout)

КлассОписание
wrapperwrapвнешняя обёртка
innerвнутренняя обёртка
containerholderboxконтейнер
gridсетка (содержит row и col)
rowстрока сетки
colcolumnстолбец сетки
layoutобщая раскладка

По БЭМ

.container {}
.container__row {}
.container__col {}
.container__col--main {}
.container__col--sidebar {}

Текст

КлассОписание
titleheadingheadlinecaptionзаголовок
subtitleподзаголовок
sloganслоган
leadtaglineлид-абзац
textтекстовый контент
descdescriptionописание
excerptотрывок текста (обычно перед «Читать далее»)
copyrightcopyкопирайт
quoteцитата
authorавтор
dateдата
metaмета-информация (теги, дата, категории)

По БЭМ

.article {}
.article__title {}
.article__subtitle {}
.article__meta {}
.article__author {}
.article__date {}
.article__excerpt {}
.article__text {}

Ссылки и кнопки

КлассОписание
linkссылка
buttonbtnкнопка
ctaкнопка призыва к действию (Call To Action)
moreallссылка «Подробнее» / «Все»

По БЭМ с модификаторами

.button {}
.button--primary {}    /* основная кнопка */
.button--secondary {}  /* второстепенная */
.button--outline {}    /* с рамкой */
.button--disabled {}   /* неактивная */
.button--small {}      /* маленькая */
.button--large {}      /* большая */

.link {}
.link--arrow {}        /* со стрелкой */
.link--muted {}        /* приглушённый цвет */

Списки

КлассОписание
listitemsсписок
itemэлемент списка

По БЭМ

.nav {}
.nav__list {}
.nav__item {}
.nav__link {}

.breadcrumbs {}        /* хлебные крошки */
.breadcrumbs__item {}
.breadcrumbs__link {}

Изображения

КлассОписание
imageimgpicturepicкартинка
iconиконка
logoлоготип
userpicavatarаватар пользователя
thumbnailthumbминиатюра
coverфоновое изображение / обложка
galleryгалерея

По БЭМ

.logo {}
.logo__image {}
.logo__text {}

.avatar {}
.avatar--small {}
.avatar--large {}

.gallery {}
.gallery__item {}
.gallery__image {}

Элементы управления

КлассОписание
controlэлемент управления
dropdownвыпадающий список
searchпоиск
slidercarouselслайдер
paginationпагинация
bulletпереключатели в пагинации
modalмодальное окно
popupвсплывающее окно
tooltiptipподсказки
previewанонс / превью
breadcrumbs«хлебные крошки»
tabsвкладки
accordionаккордеон
toggleпереключатель
loaderspinnerиндикатор загрузки

По БЭМ

.tabs {}
.tabs__nav {}
.tabs__button {}
.tabs__button--active {}
.tabs__panel {}

.accordion {}
.accordion__item {}
.accordion__header {}
.accordion__content {}
.accordion__content--open {}

.modal {}
.modal__overlay {}
.modal__content {}
.modal__close {}

Цвета (как модификаторы)

В БЭМ цвета лучше выносить в модификаторы или отдельные utility-классы.

Основные цвета

/* Модификаторы для блоков */
.card--primary {}
.card--secondary {}
.card--success {}
.card--warning {}
.card--danger {}
.card--info {}

/* Отдельные utility-классы */
.bg-primary {}
.bg-secondary {}
.bg-dark {}
.bg-light {}

.text-primary {}
.text-muted {}
.text-light {}
.text-dark {}
.text-white {}
.text-black {}

.border-primary {}
.border-danger {}

Примеры использования

.button--primary {
    background: #007cba;
    color: white;
}

.alert--success {
    background: #d4edda;
    color: #155724;
    border-color: #c3e6cb;
}

.alert--error {
    background: #f8d7da;
    color: #721c24;
    border-color: #f5c6cb;
}

Карточка товара / статьи

Частый паттерн — карточка (card).

Структура

.card {}                    /* блок карточки */
.card__image {}             /* изображение */
.card__badge {}             /* бейдж (скидка, новинка) */
.card__title {}             /* заголовок */
.card__rating {}            /* рейтинг */
.card__price {}             /* цена */
.card__price--old {}        /* старая цена */
.card__price--new {}        /* новая цена */
.card__desc {}              /* описание */
.card__button {}            /* кнопка действия */
.card__footer {}            /* подвал карточки */

Модификаторы

.card--featured {}          /* рекомендуемый товар */
.card--sale {}              /* товар со скидкой */
.card--out-of-stock {}      /* нет в наличии */
.card--compact {}           /* компактная версия */

Преимущества (Features / Benefits)

Блок для списка преимуществ.

Структура

.features {}                /* блок преимуществ */
.features__item {}          /* отдельное преимущество */
.features__icon {}          /* иконка */
.features__title {}         /* заголовок */
.features__desc {}          /* описание */

.benefits {}                /* альтернативное название */
.benefits__item {}
.benefits__icon {}
.benefits__text {}

Пример сетки преимуществ

.features {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 30px;
}

.features__item {
    text-align: center;
}

Пользовательские блоки

КлассОписание
userauthorпользователь / автор
profileпрофиль
ratingрейтинг
reviewотзыв
commentкомментарий

Структура

.comment {}
.comment__avatar {}
.comment__author {}
.comment__date {}
.comment__text {}
.comment__reply {}

.rating {}
.rating__star {}
.rating__star--filled {}
.rating__value {}

Корзина и заказ (E-commerce)

КлассОписание
cartbasketкорзина
cart__itemтовар в корзине
cart__quantityколичество
cart__totalитого
checkoutоформление заказа
orderзаказ
productтовар
catalogкаталог
filterфильтр

Структура

.cart {}
.cart__table {}
.cart__row {}
.cart__cell {}
.cart__item-image {}
.cart__item-title {}
.cart__item-price {}
.cart__item-quantity {}
.cart__item-total {}
.cart__total-row {}

.checkout {}
.checkout__form {}
.checkout__summary {}

Медиавыражения (брейкпоинты)

Класс / ПеременнаяОписание
phonemobileмобильные устройства
phabletтелефоны с экраном 6-7″
tabletпланшеты
notebooklaptopноутбуки
desktopнастольные ПК
wideширокие экраны

Пример в БЭМ (адаптив через модификаторы)

.card--mobile {}
.card--tablet {}
.card--desktop {}

SCSS-переменные для брейкпоинтов

$breakpoint-mobile: 480px;
$breakpoint-tablet: 768px;
$breakpoint-laptop: 1024px;
$breakpoint-desktop: 1200px;
$breakpoint-wide: 1440px;

Размеры (как модификаторы)

КлассОписание
xstinyэкстра-маленький
smsmallмаленький
mdmediumсредний
lglargebigбольшой
xlhugeогромный
narrowузкий
wideширокий

Примеры

.button--sm {}
.button--md {}
.button--lg {}

.card--wide {}
.card--narrow {}

.text--xs {}
.text--xl {}

Состояния (модификаторы)

КлассОписание
activecurrentактивный элемент
disabledотключённый
hiddenскрытый
errorошибка
warningпредупреждение
successуспех
pendingожидание
loadingзагрузка
openоткрыт
closedзакрыт
selectedвыбран
focusedв фокусе

Примеры

.form__input--error {}
.form__input--success {}
.button--disabled {}
.modal--open {}
.dropdown--open {}

Utility-классы (вспомогательные)

Полезно иметь набор небольших утилит для быстрой стилизации.

/* Отступы */
.m-0 { margin: 0; }
.mt-1 { margin-top: 8px; }
.mt-2 { margin-top: 16px; }
.mb-1 { margin-bottom: 8px; }
.mb-2 { margin-bottom: 16px; }
.p-0 { padding: 0; }
.p-1 { padding: 8px; }
.p-2 { padding: 16px; }

/* Выравнивание */
.text-center { text-align: center; }
.text-left { text-align: left; }
.text-right { text-align: right; }
.text-uppercase { text-transform: uppercase; }

/* Flex */
.flex { display: flex; }
.flex-column { flex-direction: column; }
.justify-center { justify-content: center; }
.justify-between { justify-content: space-between; }
.align-center { align-items: center; }
.gap-1 { gap: 8px; }
.gap-2 { gap: 16px; }

/* Отображение */
.d-none { display: none; }
.d-block { display: block; }
.d-flex { display: flex; }

/* Позиционирование */
.relative { position: relative; }
.absolute { position: absolute; }
.fixed { position: fixed; }

/* Скругление */
.rounded { border-radius: 4px; }
.rounded-lg { border-radius: 8px; }
.circle { border-radius: 50%; }

Дополнительные блоки

КлассОписание
socialsблок иконок соцсетей
advertisementadvpromoрекламный блок (осторожно — может резаться адблоком)
featuresbenefitsсписок преимуществ
userauthorпользователь / автор
metaмета-информация
cartbasketкорзина
moreallссылка на полную информацию
newsновости
blogблог
postпост / запись
relatedпохожие / связанные товары или записи
testimonialотзыв клиента
faqблок вопросов-ответов
teamблок команды
servicesуслуги
portfolioпортфолио
subscribeподписка на рассылку
contactконтакты
mapкарта

Этот справочник можно использовать как шпаргалку при вёрстке. Основные принципы:

  1. Используйте осмысленные имена — класс должен говорить, что делает элемент
  2. Придерживайтесь единого стиля (kebab-case для БЭМ)
  3. Избегайте слишком глубокой вложенности в CSS
  4. Модификаторы лучше, чем отдельные классы для вариантов одного компонента

Сохраните себе — пригодится!

Последние статьи