Responsive web design is no doubt a big thing now. If you still not familiar with responsive design, check out the list of responsive sites that I recently posted. To newbies, responsive design might sound a bit complicated, but it is actually simpler than you think. To help you quickly get started with responsive design, I've put together a quick tutorial. I promise you can learn about the basic logic of responsive design and media queries in 3 steps (assuming you have the basic CSS knowledge).
Step 1. Meta Tag (view demo)
Most mobile browsers scale HTML pages to a wide viewport width so it fits on the screen. You can use the viewport meta tag to reset this. The viewport tag below tells the browser to use the device width as the viewport width and disable the initial scale. Include this meta tag in the <head>.
<meta name="viewport" content="width=device-width, initial-scale=1.0">
Internet Explorer 8 or older doesn't support media query. You can use media-queries.js or respond.js to add media query support in IE.
<!--[if lt IE 9]>
<script src="http://css3-mediaqueries-js.googlecode.com/svn/trunk/css3-mediaqueries.js"></script>
<![endif]-->
Step 2. HTML Structure
In this example, I have a basic page layout with a header, content container, sidebar, and a footer. The header has a fixed height 180px, content container is 600px wide and sidebar is 300px wide.
Step 3. Media Queries
CSS3 media query is the trick for responsive design. It is like writing if conditions to tell the browser how to render the page for specified viewport width.
The following set of rules will be in effect if the viewport width is 980px or less. Basically, I set all the container width from pixel value to percentage value so the containers will become fluid.
Then for viewport 700px or less, specify the #content and #sidebar to auto width and remove the float so they will display as full width.
For 480px or less (mobile screen), reset the #header height to auto, change the h1 font size to 24px and hide the #sidebar.
You can write as many media query as you like. I've only shown 3 media queries in my demo. The purpose of the media queries is to apply different CSS rules to achieve different layouts for specified viewport width. The media queries can be in the same stylesheet or in a separate file.
Conclusion
This tutorial is intended to show you the basics of responsive design. If you want more in-depth tutorial, check out my previous tutorial: Responsive Design With Media Queries.
Finally, a simple tutorial with an understandable example. Thanks!
Thanks for the tutorial and demo. Web designers ignore mobile devices at their peril!
Awesome tutorial! I love reading more about responsive design and hopefully people use it for a purpose because with great responsiveness, comes great responsibility. LOL
Awesome tutorial, nice and simple right to the point, Its basic enough for everyone to understand and give great points,
Marios
Thanks for the simple and clear example! :)
Thanks so much for a great introduction to this subject. It’s definitely whet my appetite for more! Top job.
Great tutorial for newbie.. carry on…..
Simple and short… really cool tutorial to explain others this magic feature! thanks
Though small article, it helped me lot to get started with great feature of css, thankyou for your effort to share.
Başar öğretici! Büyük bir tepki ile, büyük sorumluluk getirir, çünkü ben daha duyarlı tasarım ve umarım insanlar bir amaç için kullanmak hakkında okuma seviyorum. LOL
I will use these tips in my next client site.
I did search around and asking my friends, but none of them explain well. Thanks for sharing, simple explanation + good demo = great article.
good tutorial, thanks for sharing.
Simply best to understand responsive design. thanks
Great article with demo! :) Thank you for sharing this.
Really like this tutorial. Assuming the sidebar has navigation in it would that be better coming above the content?
Nice tutorial. Thank you
Very interesting explained in easy terms. My site just got refreshed to be more responsive.
I Agree!
Sounds too easy. I am about to start to do my first site with media queries. Thanks for the tute.
Thanks for this! Embarking on project soon that requires responsive designs. Should be compatible with handhelds, phones etc.
Thanks for a great, easy to follow tutorial! Can’t wait to give it a shot!