CSS: vertical centering

display: table

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

.table div {
  display: table-cell;
  vertical-align: middle;
}
<div class="table">
  <div>
    <!-- conteúdo -->
  </div>
</div>
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
In magna nisl, elementum blandit viverra condimentum, tempor at dolor.
Donec ultrices diam sit amet pellentesque pulvinar.
Donec interdum consequat blandit.
Morbi non diam efficitur, cursus urna eleifend, vulputate metus.

position: absolute

.relative {
  position: relative;
}

.absolute {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}
<div class="relative">
  <div class="absolute">
    <!-- conteúdo -->
  </div>
</div>
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
In magna nisl, elementum blandit viverra condimentum, tempor at dolor.
Donec ultrices diam sit amet pellentesque pulvinar.
Donec interdum consequat blandit.
Morbi non diam efficitur, cursus urna eleifend, vulputate metus.

display: flex

.flex {
  display: flex;
  align-items: center;
}
<div class="flex">
  <!-- conteúdo -->
</div>
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
In magna nisl, elementum blandit viverra condimentum, tempor at dolor.
Donec ultrices diam sit amet pellentesque pulvinar.
Donec interdum consequat blandit.
Morbi non diam efficitur, cursus urna eleifend, vulputate metus.

display: grid

.grid {
  display: grid;
  place-items: center;
}
<div class="grid">
  <div>
    <!-- conteúdo -->
  </div>
</div>
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
In magna nisl, elementum blandit viverra condimentum, tempor at dolor.
Donec ultrices diam sit amet pellentesque pulvinar.
Donec interdum consequat blandit.
Morbi non diam efficitur, cursus urna eleifend, vulputate metus.

margin: auto

.margin {
  display: flex;
}

.margin div {
  margin: auto;
}
<div class="margin">
  <div>
    <!-- conteúdo -->
  </div>
</div>
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
In magna nisl, elementum blandit viverra condimentum, tempor at dolor.
Donec ultrices diam sit amet pellentesque pulvinar.
Donec interdum consequat blandit.
Morbi non diam efficitur, cursus urna eleifend, vulputate metus.