css3 – 当高度未知时,与flexbox垂直居中时出现的问题

前端之家收集整理的这篇文章主要介绍了css3 – 当高度未知时,与flexbox垂直居中时出现的问题前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我的布局有一个容器flex容器和一个孩子。

HTML:

<div class="flex-container">
  <div>text</div>
</div>

容器和儿童具有未知的高度。目标是:

>如果孩子的高度低于容器,它会出现水平和垂直居中。
>如果孩子的高度比容器的高,它调整到顶部和底部,我们可以做滚动。

方案:

使用flexBox定位元素的最快方法如下:

CSS:

.flex-container
{
  display: flex;
  align-items: center; // vertical
  justify-content: center; // horizontal

  width: 100%;
  height: 300px; // for example purposes
  overflow-y: scroll;
  background: #2a4;
}

.flex-container > div
{
  background: #E77E23;
  width: 400px;
}

Codepen:http://www.codepen.io/ces/pen/slicw

但是,如果容器的孩子具有更大的高度,则该孩子不能正确地显示。孩子出现cutted(只有顶部)。

Codepen:http://www.codepen.io/ces/pen/sGtfK

方案:

解决这个问题的方法吗?

解决方法

我找到了解决方案:
.flex-container
{
  display: flex; // only
  overflow-y: scroll;
}

.flex-container > div
{
  margin: auto; // horizontal and vertical align
}

Codepen:http://codepen.io/ces/pen/Idklh

猜你在找的CSS相关文章