CSS Flexbox 练习场

可视化配置 CSS flexbox 容器和子项属性,实时预览效果并生成可直接使用的 CSS 代码,支持 flex-direction、justify-content、align-items 等所有属性。

预设

容器属性

子项属性

实时预览

1
2
3
容器 CSS
.flex-container {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: flex-start;
  align-items: stretch;
  align-content: stretch;
  gap: 8px;
}
子项 CSS
.flex-item-1 {
  flex-grow: 0;
  flex-shrink: 1;
  flex-basis: auto;
}

.flex-item-2 {
  flex-grow: 0;
  flex-shrink: 1;
  flex-basis: auto;
}

.flex-item-3 {
  flex-grow: 0;
  flex-shrink: 1;
  flex-basis: auto;
}

Share this tool

Help others discover CSS Flexbox Playground

关于 CSS Flexbox 练习场

使用方法

  • 调整容器属性,如 flex-direction、flex-wrap、justify-content、align-items 和 align-content
  • 添加最多 6 个 flex 子项,并使用 flex-grow、flex-shrink、flex-basis、align-self 和 order 独立配置每个子项
  • 更改任何属性时实时预览布局效果
  • 将生成的容器和子项 CSS 代码直接复制到您的项目中
  • 使用预设快速探索常见的 flexbox 模式

常见使用场景

  • 以交互方式学习 flexbox 布局属性
  • 原型设计导航栏、卡片网格和侧边栏
  • 调试复杂的 flexbox 对齐问题
  • 为常见布局模式生成基础 CSS
  • 向学生讲授 CSS flexbox 概念

常见问题

什么是 CSS Flexbox 练习场?

CSS Flexbox 练习场是一款交互式工具,让您可以可视化地配置所有 flexbox 容器和子项属性。任何更改都会即时显示在实时预览中,并自动生成可直接复制到项目中的 CSS 代码。

可以配置哪些容器属性?

您可以配置所有六个主要 flex 容器属性:flex-direction(row、row-reverse、column、column-reverse)、flex-wrap(nowrap、wrap、wrap-reverse)、justify-content(flex-start、flex-end、center、space-between、space-around、space-evenly)、align-items(stretch、flex-start、flex-end、center、baseline)、align-content(stretch、flex-start、flex-end、center、space-between、space-around)和 gap(像素值)。

每个 flex 子项可以配置哪些属性?

每个 flex 子项可以配置:flex-grow(子项占用多少额外空间)、flex-shrink(空间不足时子项的收缩量)、flex-basis(初始大小)、align-self(个别对齐覆盖)和 order(容器中的视觉顺序)。

可以添加多少个 flex 子项?

最多可以添加 6 个 flex 子项。点击'+ 添加子项'按钮添加更多子项。每个子项都有颜色编码,便于在预览和设置面板中识别。

如何选择和编辑特定的 flex 子项?

点击子项属性面板顶部的任意编号标签来选择该子项。也可以直接点击实时预览中的子项来选择它。被选中的子项将以彩色边框高亮显示。

什么是预设,如何使用它们?

预设是常见布局模式的现成 flexbox 配置:'居中行'将子项水平和垂直居中,'居中列'将子项垂直堆叠并居中,'间距均匀'均匀分布子项,'换行网格'使用 flex-wrap 让子项换行,'拉伸子项'使用 flex-grow 填充可用空间,'反向行'反转子项显示顺序。点击预设即可立即应用,然后可进一步自定义。

flex-grow 的作用是什么?

flex-grow 定义了当容器中有额外空间时,flex 子项相对于其他子项的增长量。值为 0 表示子项不会增长。值为 1 表示获取等份额外空间。值为 2 表示获取 flex-grow: 1 子项的两倍空间。

flex-shrink 的作用是什么?

flex-shrink 定义了当容器空间不足时,flex 子项相对于其他子项的收缩量。值为 0 防止子项收缩。值为 1(默认)表示按比例收缩。值为 2 表示收缩速度是 flex-shrink: 1 子项的两倍。

flex-basis 可以接受哪些值?

flex-basis 设置 flex 子项在分配空间前的初始主轴尺寸。接受:'auto'(使用子项的宽度或高度)、长度值如'100px'或'20%'、'content'(基于内容)或'0'(子项从零尺寸开始)。可以在输入框中输入任何有效的 CSS 值。

align-items 和 align-self 有什么区别?

align-items 是容器属性,默认应用于所有 flex 子项。align-self 可以为单个子项覆盖 align-items。例如,如果容器设置了 align-items: center,但某个子项设置了 align-self: flex-end,则除该子项外所有子项都将居中。

order 属性的作用是什么?

order 属性控制 flex 子项的视觉顺序而不改变 DOM 顺序。order 值较小的子项排在前面。默认值为 0。

如何复制生成的 CSS?

有两个复制按钮:一个用于容器 CSS,另一个用于全部 CSS。点击任意'复制 CSS'按钮将代码复制到剪贴板。

Share ToolsZone

Help others discover these free tools!

分享此页面

CSS Flexbox 练习场 | 可视化 Flexbox 构建器