Sometimes you may want to center a div element within a page, whether vertically, horizontally, or both (dead center). Here’s how you can accomplish all of that using CSS.
What you need:
The HTML
For this example, we’ll use the following HTML code:
<div id="container"> <p>Some content goes here.</p> </div>
The CSS
The basic formatting for the #container element will be:
#container {
border: 1px solid #000;
background-color: #69C;
padding: 8px;}
Getting it done:
How to center a div element horizontally
To center a div element horizontally you need to:
- Set its left and right margins to auto, which will automatically set the margin space on both sides of the div element, centering it within the page.
- Declare the div element’s width to override the default width: auto property, which makes div elements be as wide as their containers .
Here’s the CSS:
.center_horiz{
width: 158px;
margin: 0 auto;
}
How to center a div element vertically
To center a div element vertically vertically within a page, you need to:
- Set the position of the element to absolute, so it uses the height of the page as reference.
- Set the top property to 50%, so the div element moves down to the middle of the page
- Use the margin-top property to move the div element a little bit above the middle of the page (if you need to).
Here’s the CSS:
.center_vert{
position: absolute;
top: 50%;
margin-top: -35px;
}
How to center a div element both vertically and horizontally (dead center)
To place a div element dead center within a page, you can use the same technique as when centering it vertically and apply it to center the div element horizontally as well. To accomplish this, you need to:
- Set the position of the div element to absolute, so it uses the height and width of the page as reference.
- Set the top and left properties to 50%, so the div element moves down and to the center of the page.
- Use the margin-top and margin-left properties to move the div element a little bit above and left of the middle of the page (if you need to).
Here’s the CSS:
.dead_center{
position: absolute;
top: 50%;
left: 50%;
margin-top: -35px;
margin-left: -85px;
}
And that should be it. See you next time.