Responsive Design with Sass, Compass, and Drupal 7

Sam Richard

Mobile matters. There are more than 4x the number mobile devices activated each day than there babies born and the question of how to effectively deliver your content to everyone, regardless of how they get there, should be the most important question for product owners and developers today. Enter responsive design.

Responsive design comes from the idea that there is not a mobile web and a desktop web but instead a single, unified web. The most obvious new design paradigm to come from this new thinking are websites that are not built on a fixed width grid but rather one that expands and contracts depending on how much screen real estate is available to the current user. To be able to do this, however, you want a powerful set of tools at your disposal in order to aid in you in the large amount of work needed to build a responsive design. Enter Sass+Compass

Sass 3.2 introduces a number of new features designed specifically to aid in responsive design including the ability to modularize your media queries and call them on-demand or to write media queries based on calculations in your Sass files. Compass v0.12 improves upon Compass's already impecable mixin and function libraries with a large update to Compass's Image Sprite functionality, a traditionally hard technique made drop-dead easy and essential to the Mobile First Responsive Design philosophy that should be taken when designing websites.

Compass also allows us to tap into all a community of extensions to make your lives easier, including some that are specifically designed to help us with responsive design, including the Zurb Foundation Framework, Twitter Bootstrap, and what I will spend the most time covering, a native Sass+Compass Drupal theme, Aurora powered by the Compass extension Aura.

Drupal 7 also provides us with some capability to greatly reduce the development costs for our mobile-first development, including some great base themes in the HTML5 Project and Mothership for clean, semantic HTML5 markup, the Borealis project for mobile-first images, and Drupal 7's awesome new AJAX system to assist in lazy loading content, reducing download size and speed.

Experience level: