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.
Thank you for this tutorial.
This helped me. Thank you.
very thank you, nice tutorial!
Perfect. That was really helpful. Thanks
Thank you so much for this post.
I searched too much for a basic responsive design technique. But, finally, i learned the basics technique from the above post.
Ok Amrit.. Enjoy
asdf asdf asdf asdf asdf asdf asdf
ddddddd
nice
Thank you for sharing this tutorial, it helped me a lot.
thanks…very helpful
how i can resize images when display website in mobile ?
or res is <700px when images have 200px; weight
or res is <300px when images have 1500px; weight
etc
Thx for the tutorial. Last year its easier to go for responsive. Adobe made it easy, and a lot of templates are already responsive.
Nice article. Now i am very clear about RWD. Thanks a lot…..
Very nice article. this is really helpful
These 3 simple steps are must-read for anyone trying to catch up HTML5 and CSS3 web design. I couldn’t understand all the lengthy tutorials out there but this one just made me click. Thank you for sharing.
I acquired what you aim, saved to help bookmarks, really decent web page.
This is pretty awesome tutorial. I love to design responsive designs. :P
thanks for your article. i translate it. post at http://outofmemory.cn/code-snippet/3063/sanbu-achieve-response-shi-intend
Hello friends,
for getting more details about responsive design and if you wish to convert your website into responsive web design kindly follow this website http://dhrup.com/services/web-design/
Great article, thanks for sharing your knowledge.
For semantics, take into consideration that inside the CSS, the sign “#” for the header is not necessary (is a tag included for HTML5)
Great tutorial! (:
11
Hi,
Great tutorial. It’s great to see what could be a very daunting boiled down into such a simple tutorial.
I have one problem though. I tested this tutorial out on a simple “under-construction” page I needed to update. It worked perfectly, and when I narrowed the width of the browser window on my laptop it reformatted as it should have.
However, when I tried to view the page on my iPhone (iPhone 4 running iOS 6.1.3), the error message, “Safari cannot download this file”. Do you know of any common problems that may cause this?
Again, I love the tutorial. I’ve bookmarked this page for future reference.
Thanks,
Brian.
Really nice work… It helps me lot to improve my designing skills. Thanks