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, 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.
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 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.
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! 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 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 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.
Providing Collapsible Content for Mobile
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.
Making Images and Videos Responsive
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.
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, but 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 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!
Adding Widgets With Bootstrap
You don't need to know any complicated coding languages to build responsive websites. But what if you want to add interactive, animated widgets based on JavaScript? You're in luck! Thanks to the Bootstrap framework, you can add these widgets and customize them within your pages even if you don't know JavaScript. In this lesson, you'll get an understanding of how JavaScript-based frameworks, libraries, and widgets work, and how to implement them in your website. You'll add custom buttons, navigation menus, and a carousel (automated slide show) using Bootstrap widgets—and yes, all of these components are responsive!
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 this lesson, 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!
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 previously 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!