Flexbox通过display:flex创建灵活布局,利用justify-content、align-items等属性实现主轴与交叉轴对齐,结合align-self和flex-grow等控制子元素分布,轻松构建响应式页面。

Flexbox 是 CSS 中一种强大的布局模型,特别适合在页面上对齐和分布元素。它通过设置容器和子元素的属性,轻松实现灵活、响应式的布局结构。掌握 Flex 容器与子元素的对齐方式,是构建现代网页布局的关键。
Flex 容器的基本设置
要启用 Flex 布局,首先需要将一个元素设为 Flex 容器。只需给父元素设置 display: flex; 或 display: inline-flex;。
常用容器属性包括:
- flex-direction:定义主轴方向(row、column 等)
- justify-content:控制子元素在主轴上的对齐方式
- align-items:控制子元素在交叉轴上的对齐方式
- flex-wrap:决定子元素是否换行
- align-content:多行时,控制行之间的对齐
例如:
立即学习“前端免费学习笔记(深入)”;
div.container { display: flex; justify-content: center; align-items: center; }这会让所有子元素在容器中水平居中且垂直居中。
主轴与交叉轴对齐技巧
理解主轴(main axis)和交叉轴(cross axis)是使用 Flexbox 的基础。主轴由 flex-direction 决定,默认是横向(row)。
常用对齐方式:
- justify-content: flex-start | flex-end | center | space-between | space-around —— 控制主轴对齐
- align-items: flex-start | flex-end | center | stretch | baseline —— 控制单行交叉轴对齐
- align-content: center | space-between | stretch —— 多行时控制行之间的对齐(需启用换行)
比如让多个卡片在容器中均匀分布并上下对齐:
.container { display: flex; flex-wrap: wrap; justify-content: space-around; align-items: stretch; }Flex 子元素的独立对齐控制
虽然容器统一设置了对齐方式,但个别子元素也可以单独调整。使用 align-self 可以覆盖 align-items 的设置。
- align-self: auto | flex-start | center | flex-end | stretch
例如,大部分子元素顶部对齐,但某一个想底部对齐:
.item.special { align-self: flex-end; }另外,flex-grow、flex-shrink 和 flex-basis 可控制子元素如何伸缩,常用于分配剩余空间。
实用布局示例
常见的居中方案:
.center { display: flex; justify-content: center; align-items: center; height: 100vh; }这能完美实现内容在视口中水平垂直居中,无需计算尺寸。
导航栏布局:
.navbar { display: flex; justify-content: space-between; align-items: center; padding: 1rem; }左边放 logo,右边放菜单,自动贴边对齐。
基本上就这些核心技巧。熟练运用容器和子元素的对齐属性,就能快速搭建各种复杂又响应式的布局。不复杂但容易忽略细节,多练几次就能得心应手。










