要实现Flexbox居中布局,需设置justify-content: center和align-items: center;前者控制主轴(水平)居中,后者控制交叉轴(垂直)居中,配合容器足够高度即可使子元素水平垂直居中。

在CSS中使用Flexbox实现居中布局,关键在于正确理解align-items和
justify-content两个属性的作用,并合理组合它们。通过这两个属性,可以轻松实现元素在容器中的水平和垂直居中。理解align-items与justify-content的区别
justify-content 控制主轴(main axis)上的对齐方式,通常用于水平方向的对齐(当flex-direction为row时)。常用值包括:
- flex-start:左对齐
- flex-end:右对齐
- center:居中对齐
- space-between:两端对齐,项目间间距相等
- space-around:项目周围空间均匀分布
align-items 控制交叉轴(cross axis)上的对齐方式,通常用于垂直方向的对齐(当flex-direction为row时)。常用值包括:
- flex-start:顶部对齐
- flex-end:底部对齐
- center:垂直居中
- stretch:拉伸以填充容器(默认值)
- baseline:基线对齐
实现水平垂直居中的标准写法
要让子元素在父容器中完全居中,需同时设置主轴和交叉轴的居中对齐:
立即学习“前端免费学习笔记(深入)”;
.container {display: flex;
justify-content: center; /* 水平居中 */
align-items: center; /* 垂直居中 */
height: 100vh; /* 确保容器有高度 */
}
这种写法适用于单个或多个子元素,只要父容器启用了Flexbox并设置了足够高度,子元素就会精确地出现在正中间。
实际应用场景示例
常见用途包括登录弹窗、加载提示、卡片内容居中等。例如一个居中的提示框:
.modal {display: flex;
justify-content: center;
align-items: center;
position: fixed;
top: 0; left: 0;
width: 100%;
height: 100%;
background-color: rgba(0,0,0,0.5);
}
.message {
background: white;
padding: 20px;
border-radius: 8px;
text-align: center;
}
此时.message元素会始终位于视口中央,不受屏幕尺寸影响,适配性强。
基本上就这些。掌握justify-content控制横向、align-items控制纵向的逻辑,就能灵活应对各种居中需求。不复杂但容易忽略的是确保父容器有明确的高度或占据足够空间,否则居中效果无法体现。










