CSS Flexbox布局生成器

在线可视化配置 Flexbox 弹性布局,调节主轴方向、对齐、换行、间距和子项属性,实时预览并生成 CSS 代码,是前端布局利器。

子元素设置

预览

生成的CSS代码

什么是Flexbox布局生成器

CSS Flexbox(弹性布局)是CSS3提供的一维布局模型,能够轻松实现容器内元素的对齐、方向、间距、换行控制,是现代网页布局的核心技术之一。本工具可以可视化调整Flexbox容器和子元素属性,实时预览效果,并直接生成可用的CSS代码。

如何使用本工具

你可以按以下步骤操作:

参数说明与原理

属性作用说明
flex-direction定义主轴方向,控制子元素排列方向是水平还是垂直
justify-content定义子元素在主轴上的对齐方式
align-items定义子元素在交叉轴上的对齐方式
flex-wrap定义子元素溢出容器时是否换行
align-content定义多行子元素在交叉轴上的对齐方式(仅多行生效)
gap定义子元素之间的间距
flex-grow定义子元素的放大比例,即剩余空间分配占比
flex-shrink定义子元素的缩小比例,即空间不足时缩小占比
flex-basis定义子元素在分配空间前的基础大小
order定义子元素的排列顺序,数值越小排列越靠前

注意事项

本工具生成的CSS代码兼容所有现代浏览器,如果你需要兼容旧版IE(IE9及以下),则需要添加前缀-webkit- -moz-等,不过目前绝大多数网站已经不需要兼容旧版本浏览器了。

Flexbox和Grid布局有什么区别?

Flexbox是一维布局(沿一个方向排列),适合组件内部排列、导航栏、卡片布局等场景;Grid是二维布局,可以同时处理行和列,适合整体页面布局。两者可以结合使用。

flex:1 是什么意思?

flex是flex-grow、flex-shrink、flex-basis的缩写,flex:1等价于flex-grow:1; flex-shrink:1; flex-basis:0%; 表示子元素会自动占据剩余空间,是常用的弹性等分写法。

为什么我的align-content不生效?

align-content只对多行(flex-wrap: wrap 或 wrap-reverse)生效,如果子元素不换行(nowrap),则align-content不会产生任何效果,需要注意这一点。

gap和margin设置间距有什么区别?

gap是flex容器直接控制子元素之间的间距,不需要额外给子元素设置margin,也不会出现容器边缘额外外边距的问题,是更推荐的写法,兼容性也很好。