How to center an element horizontally and vertically using HTML

In some cases, you will need to ensure that the html/body element’s height is set to 100%.

For vertical alignment, set the parent element’s width/height to 100% and add display: table. Then for the child element, change the display to table-cell and add vertical-align: middle.

For horizontal centering, you could either add text-align: center to center the text and any other inline children elements. Alternatively, you could use margin: 0 auto, assuming the element is block level.

html, body {
    height: 100%;
.parent {
    width: 100%;
    height: 100%;
    display: table;
    text-align: center;
.parent > .child {
    display: table-cell;
    vertical-align: middle;

<section class="parent">
    <div class="child">I'm vertically/horizontally centered!</div>