Nearly all HTML elements are either block or inline elements. The characteristics of block elements include:
1. Always begin on a new line
2. Height, line-height and top and bottom margins can be manipulated
3. Width defaults to 100% of their containing element, unless a width is specified
Examples of block elements include <div>, <p>, <h1>, <form>, <ul> and <li>. The characteristics of inline elements, on the other hand, are the opposite of block elements:
1. Begin on the same line
2. Height, line-height and top and bottom margins can't be changed
3. Width is as long as the text/image and can't be manipulated
Examples of inline elements include <span>, <a>, <label>, <input>, <img>, <strong> and <em>.
To change an element's status, you can use display: inline or display: block. But what's the point of changing an element from being block to inline, or vice-versa? Well, at first it may seem like you might hardly ever use this trick, but in actual fact, this is a very powerful technique, which you can use whenever you want to:
1. Have an inline element start on a new line
2. Have a block element start on the same line
3. Control the width of an inline element (particularly useful for navigation links)
4. Manipulate the height of an inline element
5. Set a background colour as wide as the text for block elements, without having to specify a width
Read More at : http://articles.sitepoint.com/article/top-ten-css-tricks