Files
30-seconds-of-code/snippets/display-table-centering.md
Angelos Chalaris d2c10f3e65 Deprecate browser support
Bump integration tools to 2.1.0
2020-04-29 13:47:57 +03:00

1.1 KiB

title, tags
title tags
Display table centering layout,intermediate

Vertically and horizontally centers a child element within its parent element using display: table (as an alternative to flexbox).

<div class="container">
  <div class="center"><span>Centered content</span></div>
</div>
.container {
  border: 1px solid #333;
  height: 250px;
  width: 250px;
}

.center {
  display: table;
  height: 100%;
  width: 100%;
}

.center > span {
  display: table-cell;
  text-align: center;
  vertical-align: middle;
}

Explanation

  • display: table on '.center' allows the element to behave like a <table> HTML element.
  • 100% height and width on '.center' allows the element to fill the available space within its parent element.
  • display: table-cell on '.center > span' allows the element to behave like an HTML element.
  • text-align: center on '.center > span' centers the child element horizontally.
  • vertical-align: middle on '.center > span' centers the child element vertically.
  • The outer parent ('.container' in this case) must have a fixed height and width.