Responsive Web Design

Need help getting started?


Course Resources

Download the Project

At the ends of lessons 2, 4 and 5, you'll be working on making the home town site responsive. When you're challenged to improve the site, you'll find a link in the downloadables section to zip file with everything you need. The files are also listed below:

Additionally, here are the solutions to the project at each stage.

Additional Reading

Downloadable Materials

You can download Supplemental Materials, Lesson Videos and Transcripts from Downloadables (bottom right corner of the Classroom) or from the Dashboard (first option on the navigation bar on the left hand side).



This course consists of 5 lessons. The first one is an overview of responsive design and introduces the way you’ll need to shift your thinking as you go from desktop first design, to responsive design. Lessons 2, 3, 4 and 5 will cover the important theoretical concepts of responsive design, and include plenty of hands-on exercises implementing what you’ve learned.

Lesson 1 - Why Responsive?

What is responsive web design and why is it important? What kinds of devices should we be targeting with our design? How can we best leverage the different capabilities of each device to provide great experiences to users? You’ll also make sure that your development environment is ready to go.

Topics covered:

  • What is responsive design?
  • Why does responsive design work for any device?
  • Remote debugging and emulation in the browser

Lesson 2 - Starting Small

The best way to get started is to start small and build up. In this lesson, we’ll cover the key components that make a site great on a small screen, including setting the viewport, adding content and sizing the content to the viewport. You’ll start the home town site project, by making sure that it looks good on a small screen.

Topics covered:

  • Why start small and build up?
  • What is the viewport?
  • Sizing content the content to the viewport
    • avoiding static sized items
  • Touch targets, and why they should be large

Lesson 3 - Building Up

Once you’ve got a page optimized for small screens, it’s time to start thinking about how they’ll look on larger screens. Learn how to use CSS media queries to add breakpoints that change the layout depending on the screen size or other device characteristics.

Topics covered:

  • CSS media queries
  • What is a breakpoint, and how to choose one
  • Using the CSS flexbox to modify layout

Lesson 4 - Common Responsive Patterns

Now that you’ve got the basics of responsive design down, you’ll learn about and practice some of the common layout design patterns used across sites. You'll also iterate on the home town site project, creating breakpoints for tablet and desktop layouts using the patterns from this lesson.

Topics covered:

  • Mostly fluid pattern
  • Column drop pattern
  • Layout shifter pattern
  • Off canvas pattern

Lesson 5 - Optimizations

Learn strategies for minor breakpoints used to adjust the margins or padding on an element, or increase the font size to make it feel more natural in the layout. You’ll also learn about strategies for dealing with tables and optimal text readability. At the end of the lesson, you'll iterate for the last time on the home town site, adding minor breakpoints to really make the experience stand out.

Topics covered:

  • Minor break points
  • Optimizing text layout
    • font size
    • optimal line length
  • Responsive tables, and strategies for dealing with them


  • Thanks to Pete LePage for putting his time and energy into such an awesome course!
  • Thanks to Taylor Gilkeson and Justine Lai for their video talents.
  • Thanks to Clark Downer for keeping us organized and on time.
  • Thanks to Mark Nguyen, John Mavroudis, and Susan Smith for providing timely feedback.
  • Thanks to Ben Jaffe and Mike Wales for all the technical help.
  • Thanks to Lauren Castellano for berating me constantly during filming.
  • And most of all, thanks to YOU for taking this course!

    - Cameron Pittman