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.
there is no need to use media-queries.js or respond.js. There is no mobile using IE8 or older.
It has use if you’re developing mobile first and have defined media queries for larger resolutions.
Please clarify: Do you mean you set @media screen and (max-width: 980px) { … } but the default css is less than 480px?
was made. :) Thanks.
This is awesome thanks
Just what I was looking for! Thank you! This makes responsive design a lot easier to understand.
Looking forward to trying this out
Great article! Excited to get started
This is a greet article. I am really appreciated. You have informed useful plan to visitor. Thanks for sharing with us.
Like this post!
This is not really new. I made mobile websites for clients also back in 2005. By then nobody had mobile phones with internet connections. Now is the time for mobile device design or as you say “Responsive Design” in order to deliver the content you want at any device based upon the screen size… Maybe not a correct way to select what each user wish to experience but its maybe a good start… and we have to rethink the way we publish information to different people….
Thanks
Great post… isn’t that funny though that this very website is not responsive? Viewed on a 1024×768 screen, you gotta scroll horizontally :-/
Not true. This website is responsive. Which browser were you using? :p
Probably IE8 or worse. Why people continue to use IE at all is beyond me.
Great information, thank you!
…thanks for this! I’m learning this new technique of site building and this is great as a novice designer! I know that peoples posts can’t always be interpreted in the correct context of the writer but some people with more knowledge on this subject seem to be quite rude? Everyone’s entitled to their opinion but maybe just thankful that someone has taken the time to post a tutorial to help those less fortunate than those with more knowledge or education on the matter! Cheers!
I think http://www.responsivegridsystem.com is worth a look if you’re new to Responsive Design.
Hi
i have a website which is compatible with ifone but not with other smarts fone like samsung galaxy y (Android Base).
Any one help me with this issue.
Thnx Alot
Awesome tutorial. Really covers the basic of creating a responsive website. Thanks alot!
Thanks alot!
Can i convert my html css website into responsive design by using above codes please let me know ASAP?
This is a greet article!. Thanks alot for sharings this article.
interesting. Thanks
This is nice artical… thanks!
You know what. This article is straight forward than what smashing mag and others offer. This is what i wanted. Thanks a lot. Others talk about history of mobile and all other crap which develoeps and designers arent just intereted in . Thanks heaps for the great tut on responsive web design
If I may say, responsive web design aren’t totally dedicated for mobile browser (especially those older type of phones). But it does handle different screen width in a neat way. Say no more to those scroll bars, for sure :)