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.
I ‘ve just finished my first responsive site. Thank you for the information, especially for the viewport meta tag.
My site how can i help me in indexing again in bing..
Awesome tutorial, helps me a lot to understand the technique. Hats off to you.
Very well written article. You are right… this is easier than I though now that you explained the basics.
Can you share the css file of the demo pleaseee? thank you!
Wow (noob), you don’t know what you’re asking.
LOL….
What an innocent question…
LOLssssss
Noob if you ask for the css file of this demo it is very ease you just have to open the demo in your browser and click on “see source code” that is implemented on any browser and you will be able to see all the code. The css in this case is on the same html file between the tags. Hope I helped. By the way, very good article for people like me who is learning.
This is nice artical… thanks!
Very Nice article
and very useful
Thanks!
Very well written article. You are right… this is easier than I though now that you.
Thanks, so helpful. I saved a lots time to setup my app
Thank you so much for the info. and for the example code. Great, informative post!
Thanks, so helpful. I saved a lots time .Very well written article. You are right… this is easier when u described in small steps….
I love this tutorial! It has been incredibly helpful in designing my website. I am fairly new to web design and am having some difficulties using this design template and having it work in IE and Firefox. Safari works great…
Any help would be appreciated!
Ok, I think I may have found a problem and would appreciate help with a fix:
I included the script for media-queries.js, but I have my css as a linked stylesheet. Apparently that doesn’t work? Do I need to do all of my css styling inside the html file? Is there a solution to access the media queries on my linked css file for i.e. and firefox??
We thought you did such a great job with this Responsive Web Design tutorial, we made a video and included this Responsive Web Design tutorial as one of the better ones on-line right now:
http://www.responsivewebdesignblog.com/2012/09/responsive-web-design-tutorials-video-2/
Keep up the great work!
Thank you very much!!!! I was going crazy trying to figure out how to have my site to look great no matter where it was display!!!
An excellent and concise explanation of the use of media queries in responsive design!
Thanks for the source, scratching my head all day trying to remember the tag. :)
Incredible article! Instructive and easy to go for noob like me:) Thanks.
A clear and concise article. I love it! thanks.
Very good article. So simple to understand and works.
Thx a lot from me!!!
202