🔍

首页 › 使用教程 › 开发与效率

CSS Flexbox 和 Grid 布局教程:主轴交叉轴对齐、换行、网格行列,在线生成布局代码

发布于 · 阅读约 2 分钟 · 用到的工具:Flexbox 布局生成器、CSS Grid 布局生成器

一句话答案

Flex 是一维布局:justify-content 管主轴对齐,align-items 管交叉轴对齐,flex-wrap 控制换行。Grid 是二维布局:grid-template-columns: repeat(3, 1fr) 即三列等宽,gap 设置间距。

本文目录
  1. Flexbox 生成器
  2. Flex 常用属性
  3. Grid 生成器
  4. Flex 还是 Grid
  5. 配合其他样式
  6. 常见问题

Flexbox 生成器

  1. 选方向:打开 Flexbox 布局生成器,“方向”选 row(横排)或 column(竖排)。
  2. 设置对齐:“主轴对齐”对应 justify-content,“交叉轴对齐”对应 align-items。
  3. 换行和间距:“换行”选 nowrap 或 wrap,拖动“间距”滑块调整 gap。
  4. 复制代码:预览区实时显示效果,点“复制 CSS”。
Flex 横排、主轴 space-between、交叉轴 center:子元素两端对齐、垂直居中
Flex 横排、主轴 space-between、交叉轴 center:子元素两端对齐、垂直居中
📦 Flexbox 布局生成器
免费在线使用,文件和数据只在你的浏览器本地处理,无需注册。
打开工具 →

Flex 常用属性

属性作用常用值
flex-direction主轴方向row、column
justify-content主轴对齐flex-start、center、space-between
align-items交叉轴对齐stretch、center
flex-wrap是否换行nowrap、wrap
gap子元素间距10px

水平垂直居中:display: flex; justify-content: center; align-items: center;

Grid 生成器

  1. 设置行列:打开 CSS Grid 布局生成器,拖动“列数”和“行数”滑块。
  2. 设置间距:调整“列间距”和“行间距”。
  3. 选列宽:“列宽”可选 1fr(等分)、auto、100px,或 minmax(80px,1fr)。
  4. 复制代码:点“复制 CSS”。
Grid 3 列 2 行,列宽 1fr,行列间距 10px
Grid 3 列 2 行,列宽 1fr,行列间距 10px

Flex 还是 Grid

  • 一行或一列排列(导航栏、按钮组、卡片内部):用 Flex;
  • 行和列同时控制(相册、仪表盘、页面整体布局):用 Grid;
  • 两者可以嵌套使用:Grid 做整体框架,Flex 做组件内部。

响应式卡片墙常用写法:grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); 屏幕变窄时自动减少列数。

配合其他样式

圆角和阴影见 CSS 圆角、CSS 阴影;过渡动画曲线见 缓动曲线。

常见问题

justify-content 和 align-items 怎么记?

justify-content 沿主轴(flex-direction 的方向),align-items 沿与主轴垂直的交叉轴。方向改成 column 后,两者的作用方向也会互换。

fr 是什么单位?

fr 表示剩余空间的份数,1fr 1fr 1fr 就是三列等分。

老浏览器支持 gap 吗?

现代浏览器都支持 Flex 和 Grid 的 gap;需要兼容很旧的浏览器时可以改用 margin。