使用Flexbox垂直居中列表项内容?

fig*_*r20 3 html css css3 centering flexbox

我有以下简单列表......

ul{background:wheat;height:200px;text-align:center;}
li{height:200px;display:inline-block;margin-right:10px;background:green;color:white;}
Run Code Online (Sandbox Code Playgroud)
<ul>
  <li>Item 1</li>
  <li>Item 2</li>
  <li>Item 3</li>
  <li>Item 4</li>
  <li>Item 5</li>
</ul>
Run Code Online (Sandbox Code Playgroud)

我试图让项目内容垂直居中,是flexbox的方式吗?

Mic*_*ker 5

是的flexbox非常适合这个.您可以使用现有的布局,只是使用inline-flexli,并设置align-items: center垂直居中的内容.

ul{background:wheat;height:200px;text-align:center;}
li{height:200px;display:inline-flex;margin-right:10px;background:green;color:white;align-items:center;}
Run Code Online (Sandbox Code Playgroud)
<ul>
  <li>Item 1</li>
  <li>Item 2</li>
  <li>Item 3</li>
  <li>Item 4</li>
  <li>Item 5</li>
</ul>
Run Code Online (Sandbox Code Playgroud)

您也可以line-height将内容设置为父级的高度,它将垂直居中.

ul{background:wheat;height:200px;text-align:center;}
li{height:200px;display:inline-block;margin-right:10px;background:green;color:white;line-height:200px;}
Run Code Online (Sandbox Code Playgroud)
<ul>
  <li>Item 1</li>
  <li>Item 2</li>
  <li>Item 3</li>
  <li>Item 4</li>
  <li>Item 5</li>
</ul>
Run Code Online (Sandbox Code Playgroud)