BEM Evolution

CUBI is a modern extension of BEM and Utility-first ideas.

  • C (Composition): Layouts and grids.
  • U (Utility): Small classes for margins and colors.
  • B (Block): Independent components.
  • I (Interaction/Exception): States (is-active, has-error).

Responsibility Separation Example:

<div class="l-grid u-mb-20"> <!-- Layout + Utility -->
  <article class="c-card is-featured"> <!-- Component + Interaction -->
     ...
  </article>
</div>
Note

Using prefixes (c- for components, u- for utilities) helps immediately understand from HTML code what each class is responsible for.