Techniques in responsive web design

We’ve talked a lot about responsive design here on Webdesigner Depot, and shared a lot of valuable resources. Today we’re sharing another valuable resource: at the end of this article are details for getting a discount on Chris Converse’s responsive design course on MightyDeals.

CSS3 media queries allow us to dynamically alter the design and layout of a web page in order to deliver an optimal user experience from a single set of HTML and CSS markup.

The techniques in this article explain how we can leverage this powerful capability of CSS to also change imagery, alter the navigation on hand-held devices, and set up default CSS for compatibility older browsers.

 

Creating different images

When altering your design for different devices, consider creating multiple versions of your graphics. This can greatly affect the speed at which your design loads on smaller screens, and gives you the opportunity to customize each version of your graphic.

The example below shows the different sizing, and cropping choices, in addition to the varying amounts of compression that are applied to each set of images. Since many small screen devices have higher resolution screens, the extra compression is unnoticeable, and the file size is significantly smaller.

Take advantage of the fact you can switch your images dynamically, and customize the sizing and cropping of your images for each screen size. In the example above, the sidebar photo for the large screen size shows more detail of the stained glass window, whereas the smaller images show more context of the window.

 

Assign images to HTML elements

Images are typically added to a web page using the image tag . While we can use media queries to alter the sizing of the images, we cannot change the actual graphic file being used. Instead of using the image tag, we can use an HTML element as a container, such as div tag, and assign an image into it’s background using CSS.

Assigning images to an element’s background allows us to change the referenced graphic file, in addition to being able to alter the dimensions and position properties of the container.

 

Reposition the global navigation on hand-held devices

When viewing web pages on larger screens, the expected location of the navigation is at the top, or left side, of the screen. Considering larger screens allow us to see content in addition to the navigation, this user experience does not hinder the user from getting the content. On hand-held devices, however, the navigation can take up all the screen real estate if it appears at the top. This can also lead the user to believe they must make another navigation choice instead of realizing the content is further below on the page.

For hand-held devices, global navigation typically appears after the content, so a user can swipe upward through the content, then be presented with additional navigation options. The challenge here is to reposition the navigation with CSS without needing to alter the HTML.

The figure above shows that the navigation markup is placed after the main content markup. This allows us to keep the natural flow of content for hand-held devices, and reposition the navigation on larger screens. This is achieved by setting absolute positioning properties on the navigation container when viewed on larger screens, and removing the position properties on small screens.

In addition to changing the position of the navigation, we can also change the style as well. Standard anchor tags are restyled on small screens to reflect the look of mobile buttons commonly used on hand-held devices. The figure below shows the dramatic transformation our CSS file can have on our navigation links.

 

Use large screen CSS as default for older browsers

In order to keep backwards compatibility with older browsers, keep the large screen rules outside of any media queries. This will ensure earlier versions of browsers that lack support for media queries can still “see” a set of CSS rules.

When the media query conditions are met by your user’s screen size, the rules defined within the query will override the rules outside of any queries for large screen devices. This will give you some built-in backwards compatibility for browsers that support CSS-based layouts, but not CSS3 media queries.

 

Learn to create a responsive web design

Follow along with Chris Converse as he teaches you to create the above web design step-by-step. The regular price for the Creating Responsive Web Design course is $150, but for a limited time you can get the course via Mighty Deals for only $39!

  • http://www.oldworldcreative.com Evan Skuthorpe

    A great article guys. Navigation positioning in the HTML for mobile devices idea is great.

  • http://www.facebook.com/erik.portin Erik Portin

    Don’t like the way the banner image is added. Empty div? That image is content to me and therefor it should not be added with css.

  • http://www.yellowduckwebdesign.co.uk Web Design Essex

    I’ve just sent this on to our entire team.

    Fantastic article, and published at just the right time as we’re re-doing one of sites with responsive web design in mind.

    *thumbs up*

  • Manuel Schulz

    Don’t like the idea of putting the navigation to the bottom of the page. This would affect the outline and appearance to searchengines, doesn’t it?

    • http://www.oldworldcreative.com Evan Skuthorpe

      Yes it would. It would also have an effect on search term ‘quality’ as the content would be closer to the top of the page. So it’s win some lose some…

  • adumpaul

    Great useful information.Thank you.

  • Anonymous

    I disagree with putting images in an empty div with CSS if they are part of the content. It’s non-semantic. So apart from that, good article. Cheers.

  • http://twitter.com/mamidi85 Rajendhar Mamidala

    gchgc

  • Anonymous

    What about keeping the Navigation at the top of the html and using/showing that for the Medium and Large displays and then having an alternate/simpler Navigation below the content that only gets shown on small/handheld devices?

  • http://neolans.net/ Neo Lanser

    Some samples are very usefull.

  • http://www.flash-design-india.com/rich-internet-application.php Daniel

    great Article. Keep sharing………..

  • http://dfweiss.com/ David F. Weiss

    Totally agree. The “mobile first” approach will present a streamlined version as a fallback, which although not intended for large resolutions, will probably look better bigger than a 1200px design being crunched into a small mobile browser.

  • http://www.konoozi.com Web Design

    Great article, it is still an area that web designers and developers need to learn to incorporate much more in their actual client work. since it helps to satisfy clients all the more.

  • http://www.clippingpathindia.com Clipping Path

    This is a great news and thanks for the info of discount offer of MightyDeals course.

  • http://www.inspire-by-design.com Inspire By Design

    great article, planning on doing a mobile version of my site soon, so this technique should come in handy, thanks..!

  • http://transcriptionplace.com/ Transcription Services

    Great post.

  • http://www.outsourceexpertsbd.com Clipping Path

    very good web design.

  • http://www.varusoft.com/ AdrianMaftei

    Great useful information. You must follow this guide if you want to have a good position on the internet.