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.
Undoubtedly the best intro I’ve seen on the subject – simple, clear and concise. Thanks.
ddd
testing
Today I started to learn responsive design I found many tutorials on internet but this one really given me very basic idea.
Thanks
Simple and good..
Nice and easy, but please give me more simple css rules.
Sir, you show HTML Structure and css but i think you forgot css trick for header portion actually i can’t understand which area support #pagewrape its header or whole body part i mean like container.
I make header part for my experiment and in this part i used left side logo and right side menu but i can’t create i used this css:
.maindiv{width:980px; margin:0 auto;}
@media screen and(max-width:980px){
#pagewrape{width:100%; overflow:hidden;}
.logodiv{float:left; width:40%; text-align:left; padding:10px 0 0 0;}
.menudiv {float:right; width:60%; text-align:right;}
}
and my html :
Logodiv
dd : aa
Please tell me where i am wrong way?
Thank you
Logodiv
dd : aa
sorry i can’t show you my html structure please give some idea behalf my css.
Thanking you
Perfect post for starter. Can you please suggest some framework which are supporting responsive design?
I had problem with mobile wide viewport width, and your article help to resolved it. Best starting point for responsible design. Thanks a lot!
Nice tutorial! I am beginner and I get answers with this tutorial
Really very nice and easy tutorial for basic understanding, my search ends here for understanding the basic for responsive website.. Thanks for sharing.. Thanks a lot.
How would you deal with background image covering the entire wrapper or content area. Unfortunately, when I do this, it resizes the background, but it leaves a big gap at the bottom white space .. how you deal with this..
Thanks for the useful info. The steps you mentioned are really very simple and easily understandable. We are going to implement on our website.
Thanks
Sumit
I just started build my blog,your article helps me alot,thanks!
Very nice article, super simple and very very helpful. Keep it up!
Great
but what if I want sidebar to appear above content not below, to be more precise
is it possible to have: (1 left column) (2 content) and (3 right) and on mobile device this should be order of right left and then content
1 2 3 desktop
and on mobile :
3
2
1
or
3
1
2
HELLLOLLLOOOLLOO