Centering a Div in IE8 Using margin:auto
On the count of 3 everybody scream “MICROSOFT SUCKS AND I HATE INTERNET EXPLODER”.
1, 2, 3, go.
note: Newer post has solutions for centering in IE9
I’ve been working on revamping my Sticky Footer code for IE8 compatibility when I ran into a little bug of sorts. If you are using margin:0 auto; to center a div it will cause problems in IE8 if the parent element has either no width already set, or you’ve not set text alignment to center for that parent div, or you are using the wrong doc type declaration.
These are the three fixes I know of;
Width:100%
Set your containing element to width:100%; so then your centered div inside of that one will actually center. Like this;
#container {width:100%}
#centered {width:400px; margin:0 auto}
Text-Align:Center
If you apply text-align:center to the containing div IE8 will obey the margin:auto. You then have to un-center your text content inside that centered div with text-align:left. Kind of convoluted, I know. Apparently some web designer have been doing it like that for years as this was an issue with IE5.
#container {text-align:center}
#centered {width:400px; margin:0 auto;text-align:left}
Use Transitional Doc Type
If you are using XHTML 1.0 Strict as your doc type, IE8 will not obey the margin:auto method for centering an element, unless you use one of the above hacks. You can also just change your doc type declaration at the top of your page to be XHTML 1.0 Transitional. IE8 will then obey the margin:auto statement.
Here’s a link to doc type declaration syntax.
Oh the joys of cross browser web design.
19 Comments to “Centering a Div in IE8 Using margin:auto”
Leave a Comment
RSS Feed

The Topics
- I’m Such a Nerd - Now a Wine Nerd
- An Ode to a Very Special Little Rescue Dog
- Centering a Div in IE9 Using margin:auto
- Playing with HTML5 for First Time
- My Wife is a Food Blogger
- Designing and Coding a Mobile Version of your Website
- A CSS Sticky Footer that Works in 2009 (Chrome too) (343)
- New iGoogle with Left Nav Bar is the SUCK! (194)
- My Cool Ass CB750 Cafe Racer (115)
- Centering a Div in IE8 Using margin:auto (19)
- The State of Local Search in Canada (14)


Recent Stuff

Thanks for this. I thought I was going to loose my mind. Couldn’t find the mistake in my css.
Finally just broke down and searched for it.
thank you..
PS i hate this stupid ms ie8
width:100% helped. Thanks a lot
Nice one!!, thanks for the tips.
This one worked for me even in FF3 that was not working…
“text-align:center”
so at the end, I had to add the following div:
My doctype was wrong! That hint is very precious!
Thanks for the help
Unbelievably irritating.. HTML5 doctype causing same issue in IE8 .. Come on M$.. let’s get with it already!
Yes thank you so much - can’t believe how crap M$ get at this …
Funny how one or the other of the first two seem to work or not - needs experimentation when the css nesting is heavy for sure!
Thanks for your help!
Hey Stever…
Thanks man …
Transitional Doc Type helped me
Thanks, missing DOCTYPE in a CMS! fixed IE6,7,8 auto margins.
MICROSOFT SUCKS AND I HATE INTERNET EXPLODER!
Thanks, you really helped me.
Nice work. Why can’t they just make it the same?
Thanks for the tip, saved me from continually banging my head against the desk
You saved my fuckin life.
@jr, saving lives one CSS hack at a time is my job.
Thanks man. I was struggling with this for a long time. Didn’t know that the width needs to be set, in order auto feature to work
Thanks for this.
1, 2, 3…(wait, I’ll join) go.
MICROSOFT SUCKS AND I HATE INTERNET EXPLODER!
Thanks for this. Doctype is the cause for me.
[…] 2 years ago I after Internet Exploder 8 was released I wrote a post about how to get divs to center properly when using margin:auto in your CSS. Now with the release of IE9 - yet another piece of shit MS browser - I’ve encountered […]
margin:0 auto worked for IE 8
Thanks! Nice Find
Thank you so much.
I was struggling with this issue since so many days.
I added text-align: center; to the parent element and now its working.
Thank you once again.