How to align a DIV vertically and horizontally

Posted by on October 31st, 2011 | 0 comments

Philip Brown
The other night I wanted to remake my person site phil.ipbrown.com. I wanted to keep it simple with just my name and a small amount of text describing what I do. Aligning a DIV horizontally in HTML and CSS is really easy, but how do you align it vertically? Here’s how…

Note: The method I’m going to show you here only really works for content that is a fixed height. So if you’re looking for your DIV to expand, this isn’t the way you should do it. As always, I like to keep things as simple as possible. So here’s how I did it.

1. Create your content DIV

Nice and easy so far.

<div id="content">Hello World</div>

2. Write the CSS

Here’s the CSS you will need to align the DIV both vertically and horizontally.

#content {
	position:absolute;
	top:50%;
	left: 50%;
	width: 320px;
	margin-left:-160px;
	height:480px;
	margin-top:-240px;
}

Some things to note. You need the negative margins to align the DIV and they should be exactly half of the width and height.

And that’s all you need. It’s a shame you can’t just use

margin: auto;

but then again there are a lot of things wrong with HTML and CSS.

Written by

Hey, I'm Philip Brown, a designer and developer from Durham, England. I create websites and web based applications from the ground up. In 2011 I founded a company called Yellow Flag. If you want to find out more about me, you can follow me on Twitter or Google Plus.