CSS Tutorial Example
Example
CSS Reference
CSS Introduction
CSS Introduction
CSS Internal
CSS Selector
CSS External
CSS Inline
CSS Class
CSS Background
CSS Font
CSS Text
CSS Padding
CSS Margin
CSS Border
CSS List
CSS Pseudo Class and Mouseover
Advanced Topics
CSS Cursor
CSS Properties
CSS Position
CSS Layers
CSS Float
CSS ID vs Class
CSS Display
CSS Align
CSS Navigation Bar
CSS Attribute Selectors
CSS Image Gallery
CSS Image Opacity
A block element is an element that takes up the full width available, and has a line break before and after it.
Examples of block elements:
* <h1>
* <p>
* <div>
For aligning text, see the CSS Text chapter.
In this chapter we will show you how to horizontally align block elements for layout purposes.
Block elements can be aligned by setting the left and right margins to "auto".
Note: Using margin:auto will not work in Internet Explorer, unless a !DOCTYPE is declared.
Setting the left and right margins to auto specifies that they should split the available margin equally. The result is a centered element:
.center
{
margin-left:auto;
margin-right:auto;
width:70%;
background-color:#b0e0e6;
}
Aligning has no effect if the width is 100%.
In IE 5 there is a margin handling bug for block elements. To make the example above work in IE5, add some extra code.
One method of aligning elements is to use absolute positioning:
.right
{
position:absolute;
right:0px;
width:300px;
background-color:#b0e0e6;
}
Absolute positioned elements are removed from the normal flow, and can overlap elements.
When aligning elements like this, it is always a good idea to predefine margin and padding for the <body> element. This is to avoid visual differences in different browsers.
There is also another problem with IE when using the position property. If a container element (in our case <div class="container">) has a specified width, and the !DOCTYPE declaration is missing, IE will add a 17px margin on the right side. This seems to be space reserved for a scrollbar. Always set the !DOCTYPE declaration when using the position property:
body
{
margin:0;
padding:0;
}
.container
{
position:relative;
width:100%;
}
.right
{
position:absolute;
right:0px;
width:300px;
background-color:#b0e0e6;
}
One method of aligning elements is to use the float property:
.right
{
float:right;
width:300px;
background-color:#b0e0e6;
}

