如何使用flexbox垂直居中div

时间:2016-02-07 16:52:16

标签: html css css3 flexbox

我想用flexbox垂直居中一个div(在另一个div中)。

我尝试添加此功能,但不起作用:

 display: flex;
 align-items: center;

这里是jsfiddle:

https://jsfiddle.net/ms5s5uhy/

1 个答案:

答案 0 :(得分:1)

您需要将flex属性放在 parent div:

#boss {
    border: 1px solid #000;
    width: 300px;
    height: 300px;
    display: flex;           /* moved here from child div */
    align-items: center;     /* moved here from child div */
}

#kids {
    margin: 0 auto;
    border: 1px solid #000;
    width: 150px;
    height: 150px;
}

Revised Fiddle

... OR

您可以从弹性容器中删除align-items关键字属性,只需在弹性项目上使用auto边距。

#boss {
    border: 1px solid #000;
    width: 300px;
    height: 300px;
    display: flex;           
    /* align-items: center <-- REMOVE */
}

#kids {
    margin: auto;            /* adjusted */
    border: 1px solid #000;
    width: 150px;
    height: 150px;
}

Revised Fiddle

点击此处了解详情:Methods for Aligning Flex Items