如何将 div 中的图像居中(垂直和水平)居中(水平)在另一个 div 中

How to center (vertically and horizontally) an image inside a div centered (horizontally) in another div

我希望在 div 中水平和垂直居中的图像在另一个 div 中也居中(水平)。

像这样:

我想象这是这样完成的:

<div class="grandad">
  <div class="parent">
    <img src="someUrl"/>
  </div>
</div>

https://codepen.io/lucasactimo/pen/qBOzjwb

但我找不到合适的 CSS 规则来实现这种排列。非常感谢您的帮助!

对内部和外部容器使用 flexbox 两次,这些设置使(唯一的)子容器居中:

  display: flex;
  justify-content: center;
  align-items: center;

.grandad {
  height: 300px;
  border: 1px solid #bbb;
  display: flex;
  justify-content: center;
  align-items: center;
}

.parent {
  height: 200px;
  width: 200px;
  border-radius: 50%;
  background-color: red;
  display: flex;
  justify-content: center;
  align-items: center;
}

img {
  height: 64px;
  width: 64px;
}
<div class="grandad">
  <div class="parent">
    <img src="https://p0.pikist.com/photos/915/114/flower-macro-nature-flora-wild-flowers-blossomed-summer-flowers-white-flowers-pollen.jpg" />
  </div>
</div>