SMACSS was written in 2011. This site remains for archival and educational purposes.

About the Author

Hi, my name is Jonathan Snook. I’m a web developer and designer who has been building web sites as a hobby since 1994 and as a professional since 1999.

I maintain a blog at where I write tips, tricks and bookmarks on web development. I also speak at conferences and workshops and have been thankful to have been able to travel the world to share what I know.

I’ve co-authored two books to date: The Art and Science of CSS (from Sitepoint) and Accelerated DOM Scripting (from Apress). I’ve also written for .net magazine, A List Apart,, and many more resources online and off.

Having worked on hundreds of web projects, including most recently on the successful Yahoo! Mail redesign, I’ve written this book to share my experience with building web sites small and large.

I’d like to express my deepest gratitude to everybody within the community. Each and every one of you make this a career that I continue to enjoy having. A special thank you to Kitt Hodsden for pushing me to write this and share it with everyone. Lastly, to my boys, Hayden and Lucas, who continue to push me to be a better person.


  1. About the Author
  2. Introduction


  1. Categorizing CSS Rules
  2. Base Rules
  3. Layout Rules
  4. Module Rules
  5. State Rules
  6. Theme Rules
  7. Changing State

Aspects of SMACSS

  1. Depth of Applicability
  2. Selector Performance
  3. HTML5 and SMACSS
  4. Prototyping
  5. Preprocessors
  6. Drop the Base
  7. The Icon Module
  8. Complicated Inheritance
  9. Screencast: Applying the Principles
  10. Screencast: Avoiding Content-specific Context


  1. Formatting Code
  2. Resources