Sometimes we need to horizontally center a div that is within another div using CSS that make the inner element center horizontally.
In that case, you don’t have to set the width to 50%. So, any width which is less than the containing div will work.
Let’s see how to horizontally center a div.
For example, you have the following HTML:
<div id="outerDiv" style="width: 100%"> <div id="innerDiv">Content goes here...</div> </div>
Apply this CSS to the inner div:
#innerDiv { width: 50%; margin: 0 auto; }
The margin: 0 auto is what does the actual centering.
#outerDiv { width: 100%; text-align: center; }
That makes the inner div centered with text-align.
Read Also: Align text vertically next to an image
If you are targeting IE8+, then you can use this instead:
#innerDiv { display: table; margin: 0 auto; }
This will make the inner element center horizontally without setting a specific width.
Using box model:
#outerDiv{ width:100%; /* Firefox */ display:-moz-box; -moz-box-pack:center; -moz-box-align:center; /* Safari and Chrome */ display:-webkit-box; -webkit-box-pack:center; -webkit-box-align:center; /* W3C */ display:box; box-pack:center; box-align:center; } #innerDiv{ width:50%; }
If you are targeting IE8+, this might be better to have this instead:
#innerDiv { display: table; margin: 0 auto; }
This will make the inner element center horizontally and this works also without setting a specific width.