我正在尝试将红色框放在页面中间。
我已将flex容器设置为100%的高度,并且还将html,body设置为100%,并且它仍然没有对齐中心。
任何人都可以帮助我理解为什么它不起作用?谢谢!
html, body {
height: 100%;
}
.flex-container {
display: flex;
flex-flow: column;
justify-content: center;
height: 100%;
}
.box {
flex: 0 0 100px;
background: red;
width: 100px;
}
<div class='flex-container'>
<div class='box'></div>
</div>
答案 0 :(得分:4)
您使用justify-content
来对齐主轴上的弹性项目。
您使用align-items
来对齐十字轴上的弹性项目。
由于您的Flex容器为flex-direction: column
:
justify-content: center
工作正常。
您只需添加align-items: center
。
html, body {
height: 100%;
}
.flex-container {
display: flex;
flex-flow: column;
justify-content: center; /* centers flex items vertically, in this case */
align-items: center; /* NEW */ /* centers flex items horizontally, in this case */
height: 100%
}
.box {
flex: 0 0 100px;
background: red;
width: 100px;
}
<div class='flex-container'>
<div class='box'></div>
</div>
以下是更详细的解释:
答案 1 :(得分:0)