Flexbox - align : center / justify : center 未知高度

Flexbox - align : center / justify : center with unknown height

我试图将页面分成 4 个相等的正方形,内容 居中。我遇到的问题是由于 .flex-item div 具有视口高度而使内容居中,我正在寻找完整的 flexbox 解决方案,谢谢。

我尝试了以下资源:

证明内容中心

对齐项目中心

.flex-container {
  display: -webkit-flex;
  -webkit-flex-flow: row wrap;
  flex-flow: row wrap;
}

.color_1 {
  background: tomato;
}

.color_2 {
  background: LightGreen;
}

.color_3 {
  background: PowderBlue;
}

.color_4 {
  background: SteelBlue;
}

.flex-item {
  -webkit-flex: 1 0 auto;
  flex: 1 0 auto;
  width: 50%;
  height: 50vh;
}
   
<div class="flex-container">
  <div class="flex-item color_1"><div class="inner"><p>inner</p></div></div>
  <div class="flex-item color_2"><div class="inner"><p>inner</p></div></div>
  <div class="flex-item color_3"><div class="inner"><p>inner</p></div></div>
  <div class="flex-item color_4"><div class="inner"><p>inner</p></div></div>
</div>

使 .flex-item 成为弹性容器,并使用 justify-content and align-items 使其内容居中:

.flex-item {
  display: flex;
  justify-content: center;
  align-items: center;
}

body {
  margin: 0;
}
.flex-container {
  display: flex;
  flex-wrap: wrap;
}
.color_1 {
  background: tomato;
}
.color_2 {
  background: LightGreen;
}
.color_3 {
  background: PowderBlue;
}
.color_4 {
  background: SteelBlue;
}
.flex-item {
  flex: 1 0 auto;
  width: 50%;
  height: 50vh;
  display: flex;
  justify-content: center;
  align-items: center;
}
<div class="flex-container">
  <div class="flex-item color_1"><div class="inner">inner</div></div>
  <div class="flex-item color_2"><div class="inner">inner</div></div>
  <div class="flex-item color_3"><div class="inner">inner</div></div>
  <div class="flex-item color_4"><div class="inner">inner</div></div>
</div>