Course Code: crw
Responsive web design is about building websites that are accessible, functional, inviting, and fit well into the array of environments in which people view websites. In this first lesson, you'll take a look at exactly what responsive web design is, why it's necessary, and the basic concepts in building responsive websites. You'll also examine some models of responsive design and see what you can learn from them.
How do you make a photo look good on the large viewport of a laptop and the small screen of a smartphone? And will text readable on a normal computer screen appear microscopic on a phone screen? If you want to design responsive websites, these questions are central to your work. Luckily, there are answers in the form of relative units of measurement, such as percent, em, and multiples. In this lesson, you'll learn how to apply relative units of measurement to optimize the display of images and text in different viewports and environments.
Navigation menus are the road maps that help users navigate a website. They provide access to the site content and allow designers to lead users to engage with site content. So how can you make menus adapt to different browsing environments? Make them responsive, of course! In this lesson, you'll investigate how menus function differently depending on the browsing environment, and find out how to design responsive menus that adapt to full-screen desktop or laptop environments as well as smartphones and tablets. The key to creating responsive menus is applying CSS3's @media feature, which you'll learn how to do here.
As a web designer, you probably think consciously about the right color schemes and fonts for a project. After all, color schemes and fonts are critical to "branding" your site. And they're important if you want your site to be engaging and inviting. But do the rules you follow for full-size site design apply to mobile sites as well? Maybe not! This lesson will talk about responsive color schemes and fonts that will ensure visibility and readability in a wide range of viewing environments. You'll learn how to test color schemes for contrast values and explore Google Fonts as a source of downloadable web fonts compatible with mobile devices. No longer will you have to wonder whether visitors can read your site's text on different devices—you'll have tried-and-true solutions to that challenge!
What should a responsive page look like? If you said it should look different in a tablet or smartphone than it does on a laptop, you're onto something! But how can you make pages display optimally in different viewports? In this lesson, you'll explore a basic strategy of applying a 3-2-1 framework with stacked columns. You'll learn how to use media queries, HTML5's semantic elements, and logical operators to build pages that are user-friendly in devices of all sizes.
Mobile screens are tiny. So how can you fit all your website content onto them without making users scroll and pinch too much? In this lesson, you'll learn a simple way to collapse content into expandable blocks for mobile users, but present an alternate page layout for full-sized viewports. You'll use the HTML5 <details> and <summary> tags to make content that users can expand or collapse on a small screen. You'll also use media queries to present the content in full-size viewports in columns rather than the expandable and collapsible blocks that work in mobile devices.
Images and video present real challenges when you're designing responsive websites. Not only will you need to think about how these potentially large files display on small mobile devices, but you'll also need to consider how long users on slow connections will have to wait for multimedia to download. In this lesson, you'll learn an array of strategies for making sure photos aren't slowing down your responsive sites. The lesson will talk about compressing images to reduce file size while maintaining image quality, building a cache file to make photos download more quickly for users on return visits, and managing image downloads with jQuery widgets. You'll also learn what video hosts work best when designing responsive sites.
Wouldn't it be nice if you could create or acquire images for the web that were infinitely scalable, small in size, and showed no degradation in quality no matter what size they were viewed at? In fact, you can! The SVG (Scalable Vector Graphics) format allows images to be displayed at any size without loss of resolution. SVG is not an appropriate format for photos (that's why Lesson 7 covers how to work with JPEG photos). But SVG format is perfect for icons, logos, backgrounds, maps, illustrations—pretty much any artwork other than photos. In this lesson, you will learn to create and embed SVG images, and scale them responsively.
When users visit your website, you often want to collect something from them, be it contact information, a location, or order details. To accomplish any of those things, you need forms. Mobile and laptop/desktop users have very different requirements when it comes to accessible, inviting forms. In this lesson, you'll learn to recognize and appreciate those highly differing needs, and to design forms that are inviting and accessible in any environment. You'll learn how to use HTML5 input types to make forms easier to fill out in mobile environments, and then once again use media queries to customize the look and feel of your form depending on the viewport. The best part is, you can do all of this without any complicated scripting!
A running theme in this course is that providing a truly responsive experience for users involves much more than scaling content to fit different viewports. In the final two lessons of this course, you'll expand your capacity to provide mobile users with an app-like experience. That includes integrating more styling and interactive animation. You'll do that by connecting with a set of widgets and animated elements from the jQuery Mobile framework. You'll also employ media queries to keep the full-sized viewport experience friendly—and best of all, you won't need to work with any complicated programming language to achieve an app-like experience in mobile devices!
What are mobile users looking for in a site's welcome page? Essentially, they want a set of navigation links that look and feel like an app. As Lesson 11 discussed, native apps (custom-coded for specific operating systems) and web apps look and feel very much the same to users, but web apps are much easier to create. In this lesson, you'll continue to work with the jQuery Mobile framework to build a web app welcome page that can serve as a mobile-friendly entryway into your site. You'll also define and apply a media query so that users coming from laptop- or desktop-sized viewports see a more traditional navigation bar that works well with large screens. As you go, you'll sum up what you've learned by building a home page to show off all the projects you've created in this class!
David Karlins is the bestselling author of more than a dozen books on web design, including "HTML5 for CSS3 for Dummies." His articles have appeared in publications ranging from Macworld to Business Week. He has taught web, graphic, and interactive design at San Francisco State University and in the Extension program at UC Berkeley.
Some experience creating web pages with HTML and CSS is needed before enrolling in this course.
The instructional materials required for this course are included in enrollment and will be available online.
A new session of each course opens each month, allowing you to enroll whenever your busy schedule permits.
Once a course session starts, two lessons will be released each week for the six-week duration of your course. You will have access to all previously released lessons until the course ends.
The interactive discussion area for each lesson automatically closes two weeks after each lesson is released, so you're encouraged to complete each lesson within two weeks of its release.
The final exam will be released on the same day as the last lesson. Once the final exam has been released, you will have two weeks plus 10 days (24 days total) to complete the final and finish any remaining lessons in your course. No further extensions can be provided beyond these 10 days.
Great instructor! I felt like he was always there to answer any of my questions. I would certainly take other courses from him in the future - as a matter of fact, I enrolled in one already!"
This course fills a great need in designing responsive web sites for various devices using industry available tools. The instructor supported a very interactive discussion area which was as helpful as the course material. It was great to learn about the latest techniques for responsive web design."
I think this was a great course and David is a very responsive instructor. I thoroughly enjoyed the course."
This is a very rich and excellent course. It captures all that I need to learn in order to improve my site. Learning by working on projects is a very effective and rewarding experience. The discussion area is very rich too. I learned a lot from my classmates. The many tools I was introduced to are very useful and helpful. Thanks a lot!"
Another great course from Dave! It was a lot of fun and highly educational. Among all the great things Dave does well, the best to me is the supplementary material. I will be able to build on what I learned in this course by accessing these supplementary tools."
Excellent presentation and explanations of complex material. Engaging delivery!"
I've learned so many great, exciting things in this class. I feel I truly can make my sites responsive now! Before this course, I was trying to learn by watching videos and reading from various sites. I was getting stuck on different things and felt like I was going one step forward and two steps back. This course was just what I needed to learn how all the techniques work together! I feel I have a solid foundation to implement into my sites."
I thoroughly enjoyed this course. I learned many valuable and exciting skills that I look forward and implemented into my current web site designs. Before this course, I'd been trying to learn responsive web design by watching videos and reading from various sites. I was getting stuck on different things and felt like I was taking one step forward and two steps back. This course was just what I needed to learn how all the techniques work together! Mr. David Karlins is a great instructor. His lessons are easy to understand and are inspiring. He is always available for help and advice. He also praises students for a job well done."
I really liked Mr. Karlins. Great knowledge, friendly, helpful, and he went out of his way to suggest solutions to my questions, even giving me handy links for problems that I was having with things outside the class. This class really helped me with mobile apps."
I never really paid much attention to the fact that some websites are more user friendly than others on my phone, but now I notice everything! For instance, the website I am working on redesigning for a client needs a lot of fine tuning for both the large formats and small formats and I feel much more comfortable creating a better functioning site."