Responsive Web Design (Online)
In today's online environment, designers must create websites that are responsive. Their sites must reshape and morph to provide a positive experience in every viewport—from small touch-screen environments to large-screen browsers where users interact using a mouse or pointing device. This is the heart of responsive Web design (RWD).
In this course, you'll learn to identify and address every aspect of responsive Web design: from scaling elements and adjusting page layout, to adapting color schemes and implementing accessible forms. You'll master how to use HTML5 linked to media queries in CSS3 to adapt content to fit your user's viewport, and see how jQuery Mobile can help you to mobile sites.
Today's world of Web design requires building sites that are intuitive, inviting, accessible, and attractive in every possible device and environment. In this course, you'll learn to design and build fully responsive websites optimized for smartphones, tablets, and laptop/desktop viewing environments.
What Is Responsive Web Design?
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, we'll take a look at exactly what responsive Web design is, why it's necessary, and the basic concepts in building responsive websites. We'll also examine some models of responsive design and see what we can learn from them.
Relative Units of Measurement
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.
Creating Responsive Menus with Media Queries
Navigation menus are the road maps that help users navigate a website. They provide access to the site content, and they 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, we'll investigate how menus function differently depending on the browsing environment, and you'll 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.
Responsive Color Schemes and Custom Web Fonts
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! In this lesson, we'll 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 value, and we'll 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 in different devices and lighting environments —you'll have tried-and-true solutions to that challenge!
Responsive Page Layout
What should a responsive page look like? If you said it should look different in a tablet or smartphone than it does in a laptop, you're onto something! But how can we make pages display optimally in different viewports? In this lesson, we'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.
Providing Collapsible Content for Mobile
Mobile screens are tiny. So how can we fit all our 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. We'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.
Making Images and Videos Responsive
Images and video present real challenges when we're designing responsive websites. Not only do we need to think about how these potentially large files display on small mobile devices, but we 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. We'll 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.
Using SVG Artwork in Responsive Design
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 we cover how to work with JPEG photos in Lesson 7). 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.
Designing Responsive Forms
When users visit our websites, we often want to collect something from them, be it contact information, a location, or order details. To accomplish any of those things, we 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. I'll show you how to use HTML5 input types to make forms easier to fill out in mobile environments, and we'll once again use media queries to customize the look and feel of our form depending on the viewport. The best part is, we can do all of this without any complicated scripting!
Adding Widgets With Bootstrap
Providing an App-Like Experience With jQuery Mobile
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, we'll expand our capacity to provide mobile users with an app-like experience. By that I mean integrating more styling and interactive animation. We'll do that by connecting with a set of widgets and animated elements from the jQuery Mobile framework. We'll also employ media queries to keep the full-sized viewport experience friendly—and best of all, we won't need to work with any complicated programming language to achieve an app-like experience in mobile devices!
Creating a Web App Interface for Mobile Users
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 we discussed in Lesson 11, 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, we'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 our site. We'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 we go, we'll sum up what you've learned by building a home page to show off all the projects you've created in this class!