用vh在div内垂直居中

kdu*_*uan 10 html css vertical-alignment centering viewport-units

我正在尝试将图像居中在div中,其尺寸设置为vh.我尝试使用display:table-cell;以图像为中心的方法,但开始搞乱其他元素的大众.我想知道是否有另一种更简单的方法将这个图像垂直居中在一个div中,如同vh.我知道这可能有点令人困惑,所以希望我的代码可以提供帮助!

HTML:

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

CSS:

#induoIntro .graphic {
    display:block;
    height:100vh;
}
Run Code Online (Sandbox Code Playgroud)

小智 6

似乎vertical-align:middlevw单位有一些不一致.尝试定位方法.这是您的解决方案.

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;
}
Run Code Online (Sandbox Code Playgroud)

这是工作小提琴