Dissecting the ‘Name-Brand’ CSS Conventions
To understand how they work with the language
How do we write code that is modular & maintainable, in a language designed to be systematic & contextual? Over the years developers have explored a range of techniques, frameworks, and naming conventions to achieve that goal – from Nicole Sullivan’s OOCSS and Natalie Downe’s CSS Systems, to BEM, SMACSS, ITCSS, CUBE, and recent attempts at purely “utility-based” CSS.
We’ll look at what these systems have in common, where they differ, and how they are informed by CSS itself. By understanding the trade-offs involved, we can make more informed decisions about how to mix, match, adjust, or re-write these conventions to meet our needs.