Atomic CSS Framework
Dynamic Class CSS Frameworks
Static Class CSS Frameworks
Tailwind CSS Adam Wathan (2017)
The "separation of concerns" principle states that HTML should only handle content while CSS should only handle design. In reality, CSS becomes strongly dependent on HTML structure. BEM Methodology can reduce HTML dependency, but duplication and inconsistency occur when similar components are created. Atomic Design Pattern ensures reusability through design pattern-centric naming. However, this makes HTML difficult to restyle. With the introduction of utility classes, all design can be composed of small, reusable utility class sets, enabling consistency and new UI composition without CSS modifications.
CSS Utility Classes and "Separation of Concerns"
Over the last several years, the way I write CSS has transitioned from a "semantic" approach to something more like what people call "functional CSS." In this post I explain how I got to this point and share some of the lessons and insights I've picked up along the way.
https://adamwathan.me/css-utility-classes-and-separation-of-concerns/

Seonglae Cho