Align block to the center (pseudo-class)

https://habr.com/ru/post/238449

by Serhio Magpie

HTML

<div class="parent">
  <div class="block">
    <img src="https://habrastorage.org/files/50f/7b2/1cc/50f7b21ccabd4b20bc0369f228138b5b.jpg" alt="">
  </div>
</div>

CSS

html, body {
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  overflow: hidden;
}

.parent {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  overflow: auto;
  white-space: nowrap;
  text-align: center;
  font-size: 0;
}

.parent::before {
  height: 100%;
  display: inline-block;
  vertical-align: middle;
  content: '';
}

.block {
  display: inline-block;
  white-space: normal;
  vertical-align: middle;
  text-align: left;
  background: #60a839;
}

.block img {
  display: block;
  border: none;
}