Center a Div
The HTML example
<div class="container" style="height: 200px; width: 100%;"> <div class="child" style="width: 500px; height: 100px;"> I am the child </div> </div>
|
Horizontally Center a Div
Using margin
.container { } .child { margin: 0 auto; }
|
Using flex
.container { display: flex; justify-content: center; } .child { }
|
Using position
.container { position: absolute; } .child { position: absolute; left: 50%; transform: translate(-50%); }
|
Vertically Center a Div
Using flex
.container { display: flex; align-items: center; } .child { }
|
Using position
.container { position: absolute; } .child { position: absolute; top: 50%; transform: translate(0, -50%); }
|
Horizontally and Vertically Center a Div
Using flex
.container { display: flex; align-items: center; justify-content: center; } .child { }
|
Using grid
.container { display: grid; place-items: center; } .child { }
|
Using position
.container { position: absolute; } .child { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); }
|
Using margin and grid
.container { display: grid; } .child { margin: auto; }
|
Using margin and flex
.container { display: flex; } .child { margin: auto; }
|
Center Text
The HTML example
<div class="container" style="width: 500px; height: 100px;"> I am the text </div>
|
Horizontally Center Text
Using text-align
.container { text-align: center; }
|
Using flex
.container { display:flex; justify-content: center; }
|
Vertically Center Text
Using height and line-height
center a single line text
.container { height: 50px; line-height: 50px; }
|
Using table-cell and vertical-align
.container { display:table-cell; vertical-align:middle; }
|
Using pading-top and padding-bottom
.container { padding-top: 100px; padding-bottom: 100px; }
|
Using flex
.container { display:flex; align-items:center; }
|
Horizontally and Vertically Center Text
Using text-align + line-height
Using text-align + table-cell and vertical-align
Using text-align + padding top and bottom
Using flex
.container { display:flex; align-items:center; justify-content: center; }
|