Avec flexbox

Considérant cet exemple

<div class="parent">
  <div class="enfant">centré verticalement ?</div>
</div>

On indique le centrage vertical sur le parent…

.parent {
  display: flex; /* contexte sur le parent */
  flex-direction: column; /* direction d'affichage verticale */
  justify-content: center; /* alignement vertical */
}

…ou on indique sur l’enfant

.parent {
  display: flex; /* contexte sur le parent */
}
.enfant {
  margin: auto; /* eh oui, tout bêtement */
}