PassFront
  1. PassFront
  2. База знаний
  3. Основы CSS

Для чего нужны CSS module?

Основы CSS

CSS Modules — подход, при котором каждый CSS-файл компонента получает собственную область видимости: имена классов уникализируются при сборке.

Как работает

/* Card.module.css */
.title { font-size: 20px; }
import styles from './Card.module.css';

export function Card() {
  return <h2 className={styles.title}>Заголовок</h2>;
}

В итоговом CSS класс превращается во что-то вроде .Card_title__x8f2a, поэтому .title из другого компонента ему не мешает.

Зачем нужны

  • Нет конфликтов имён без длинных договорённостей вроде БЭМ.
  • Обычный CSS без рантайма — быстро.
  • Удаление неиспользуемых стилей — стиль живёт вместе с компонентом.

Ограничения

  • Динамические значения передают через CSS-переменные.
  • Для глобальных стилей нужен :global.

Коротко для собеседования

CSS Modules изолируют стили компонента через уникальные имена классов при сборке, без рантайма.

Подробнее: CSS Modules

Другие вопросы раздела