HandyTools Hub

CSS Flexbox 生成器

以可视化方式设计 Flexbox 布局并复制 CSS 代码

点击预览中的项目,可为该项目单独设置覆盖属性。

 

使用方法

  1. 配置容器 — 用下拉菜单设置 display、排列方向、换行、对齐方式,预览会即时更新。
  2. 调整间距 — 拖动 gap 滑块,无需手写 margin 即可让项目均匀分布。
  3. 调整项目数量 — 在 3 到 12 个演示项目之间切换,观察布局在不同填充程度下的表现。
  4. 覆盖单个项目 — 点击预览中的任意项目,为其单独设置 flex-grow、flex-shrink 或 align-self,使其脱离容器规则。
  5. 复制 CSS — 复制生成的 .container.item-N 代码块,粘贴到你的样式表中。默认值会被自动省略,输出保持简洁。

功能特点

  • 完整的容器控制 — display、flex-direction、flex-wrap、justify-content、align-items、align-content 和 gap 集中一处配置。
  • 实时预览 — 每一处修改都会立即渲染在带编号、彩色标记的演示容器中。
  • 单项覆盖 — 选中任意项目即可为其设置独立的 flex-grow、flex-shrink 或 align-self,并生成单独的 .item-N 规则。
  • 简洁输出 — 保持 CSS 默认值的属性会被省略,只复制真正改变布局的声明。
  • 100% 客户端运行 — 所有计算都在浏览器中完成,数据不会离开你的设备。

使用场景

  • 导航栏与工具栏: 先在这里搭好 space-between 布局的头部并检查换行表现,再动代码库。
  • 圣杯布局: 给主列设置 flex-grow,配合固定宽度的侧边栏,快速勾勒经典多栏页面结构。
  • 学习 Flexbox: 每次只改一个属性并观察预览,逐步建立对主轴与交叉轴交互方式的直觉。

相关工具

常见问题

justify-content 和 align-items 有什么区别?

justify-content 沿主轴分配项目的空间——在 row 布局中是水平方向,在 column 布局中是垂直方向;align-items 则在与主轴垂直的交叉轴上定位项目。如果用 flex-direction: column 旋转布局,两个轴的角色实际上会互换。

align-content 什么时候才会生效?

只有当容器把项目换行为多行(flex-wrap: wrap 或 wrap-reverse)且交叉轴上有多余空间时,align-content 才有作用。单行布局下它完全无效——单行对齐请使用 align-items。

flex-grow 和 flex-shrink 到底控制什么?

flex-grow 决定项目相对于兄弟项目吸收多少剩余空间:flex-grow: 2 的项目扩展量是 flex-grow: 1 的两倍;flex-shrink 则相反,在空间不足时数值越大收缩越多。设为 flex-shrink: 0 可让项目保持原始尺寸不收缩。