In this chapter, we've covered more theory than any of the previous chapters. We've looked at some of the most popular methodologies and practices for writing maintainable and reusable CSS, such as BEM, SMACSS, OOCSS, and Atomic Design. We've also looked at some of the downsides of using out-of-the-box CSS projects such as Bootstrap, Foundation, reset.css
, and normalize.css
.
Each of these projects we've looked at is designed to solve the same problems; however, each tackles them in a different manner. These problems include scalability, reusability, and maintainability among others. Regardless of whether you choose to employ any of these methodologies as is, you will encounter the problems each tries to solve in some form or another as you work on larger projects. Therefore, it is perhaps more useful to understand the methods of overcoming these problems instead of using opinionated, pre-build packages, which can often include parts you either don't need or don't understand.
CSS is...