Sass for Web Designers

LOOKING BACK at the evolution of computer languages, it seems every dozen years or so a new layer of abstraction is added. “Ones and zeros” leveled up into assembly instructions, which leveled up into compiled languages. Those compiled languages evolved and we used them to create web browsers. Web browsers digest languages like HTML, CSS, and JavaScript. Now we’re ready to level up again.

HTML, CSS, and JavaScript have been enormously successful languages for moving the web forward in unprecedented ways. We’re building ever-bigger and more complex websites. That’s a beautiful thing. But we’ve come to the point where we need to take the next step in making what we build more manageable and maintainable. We can get there through abstraction.

CSS is in the most dire need. These days, HTML is generally produced through backend code and templates which provide the abstraction we need. As a programming language, JavaScript already has the tools of abstraction baked in. CSS has no abstraction at all and is highly repetitive. While that simplicity was key to its adoption, it makes it unwieldy for us today. It’s CSS’s turn to level up!

Sass, as Dan will teach you in this book, has all the tools of abstraction we need. Repetitive values become variables. Repetitive groups of styles become extends. Complex rulesets and tedious vendor prefixing become mixins. With those translations comes CSS that is manageable and maintainable at any scale.

Moving to Sass isn’t a comfortable transition for some. Dan knows that all too well. He has been working with and teaching CSS to the world since before I knew what a div was. But Dan is a craftsman of the web. Just as a craftsman of wood knows when his chisel is dull, Dan knew that working directly in CSS these days is just like that dull chisel: you can do it, but you’re liable to hurt yourself.

By the time you finish this book and give Sass a real try on your first project, you’ll be a master of 95% of the important, truly value-adding parts of Sass. Let Dan be your guide. Learn that Sass doesn’t make your job harder, it makes it easier.