Вертикальное центрирование внутри div с помощью vh

В настоящее время я пытаюсь центрировать изображение внутри div, у которого есть размеры, заданные с помощью vh. Я попытался использовать метод display:table-cell;, который центрировал изображение, но начал возиться с vw других элементов. Мне было интересно, есть ли еще один более простой способ вертикального центрирования этого изображения внутри div, что как vh. Я знаю, что это может быть немного запутанным, поэтому, надеюсь, мой код ниже может помочь!

Html:

<div class="graphic" style="background-color:#ff837b">
    <img src="images/WAInduo-02.svg" style="width: 100%; height: 50%;" />
</div>

CSS

#induoIntro .graphic {
    display:block;
    height:100vh;
}

Ответ 1

Кажется, что vertical-align:middle имеет некоторое несоответствие с единицей vw. Попробуйте позиционировать подход. Вот решение для вас.

Код CSS:

.graphic {
  display: block;
  height: 100vh;
  position: absolute;
  top: 0;
  bottom: 0;
  width: 100%;
}

.graphic img {
  vertical-align: middle;
  width: 100%;
  display: inline-block;
  height: 50%;
  position: absolute;
  top: 0;
  bottom: 0%;
  margin: auto;
}

Вот рабочая скрипка