123问免费工具与知识服务
123问工具大全› 工具大全› 设计工具› Flexbox布局器

📏 Flexbox布局器

弹性布局 · 实时预览 · 快捷预设

Item 1
Item 2
Item 3
Item 4

Flexbox布局器常见问题

Flexbox是什么?

Flexbox(弹性盒子布局)是CSS3的布局模块,用于在一维空间(行或列)中排列和对齐元素。相比传统的float和position,Flexbox让复杂的居中、等分、自适应布局变得简单。

justify-content和align-items区别?

justify-content控制主轴方向对齐(行模式是水平),align-items控制交叉轴方向对齐(行模式是垂直)。主轴方向由flex-direction决定。

flex-wrap有什么用?

flex-wrap控制元素是否换行。nowrap强制一行(可能溢出),wrap允许换行。结合gap可以创建类似小网格的响应式布局,而无需使用media query。

flex-item的flex属性怎么拆?

flex是三个值的简写:flex-grow(放大比例)、flex-shrink(收缩比例)、flex-basis(基础尺寸)。flex:1等价于1 1 0%,表示可放大可收缩、占满剩余空间。

居中一个元素为什么用flex更方便?

只要给父容器display:flex加上justify-content:center和align-items:center,就能同时实现水平和垂直居中,不用再算margin或position偏移,是当前最主流的居中方案。

flex布局里子元素被压扁了怎么办?

子元素默认flex-shrink:1会收缩。给具体子元素设flex-shrink:0即可禁止压缩,或设min-width避免被压到内容都放不下。

gap和margin区别在哪?

gap是flex/grid容器原生控制项目间距的属性,不会给首尾元素加多余间距,也无需nth-child去处理。margin则每个元素都要单独处理。现代浏览器都支持gap。

Flexbox和Grid怎么选?

简单规则:一维用flex(一行或一列里的排列),二维用grid(同时控制行列的网格)。组件内部用flex,页面整体结构用grid,两者互补。

Flexbox布局器 - 示例演示

示例一:水平垂直居中

输入:flex-direction:row,justify-content:center,align-items:center
结果:父容器 display:flex; justify-content:center; align-items:center;
这是最常用的布局,一个容器就让内容在中间,弹窗、登录页、加载提示都适用。

示例二:导航栏两端对齐

输入:justify-content:space-between,align-items:center
结果:display:flex; justify-content:space-between; align-items:center;
logo在左、菜单在右的经典导航布局,space-between自动把两端贴边、中间留白。

示例三:响应式换行卡片

输入:flex-wrap:wrap,gap:16px
结果:display:flex; flex-wrap:wrap; gap:16px; 子项flex:1 1 200px;
子项设flex:1 1 200px后,容器变窄时自动换行,每个卡片最小200px宽,实现无媒体查询的响应式。

Flexbox布局器深度解读

主轴与交叉轴:Flexbox的坐标系

Flexbox的一维模型围绕"主轴(main axis)"和"交叉轴(cross axis)"展开。主轴方向由flex-direction决定,justify-content控制主轴对齐,align-items控制交叉轴对齐。

flex-direction 与轴方向
flex-direction主轴方向justify-contentalign-items
row水平(默认左→右)水平对齐垂直对齐
row-reverse水平(右→左)水平对齐垂直对齐
column垂直(上→下)垂直对齐水平对齐
column-reverse垂直(下→上)垂直对齐水平对齐

记不住就理解为:主轴是你的主方向,justify跟着主轴走,align跟交叉轴走。

justify-align 六个对齐值

  • flex-start:靠主轴起点对齐。
  • flex-end:靠主轴终点对齐。
  • center:主轴居中。
  • space-between:首尾贴边,中间均匀留白。
  • space-around:每个元素两侧留等距空隙。
  • space-evenly:所有空隙(含首尾)完全相等。
对齐值适用场景
对齐值主轴效果典型场景
flex-start起点排列工具栏左侧对齐
flex-end终点排列分页器靠右
center居中弹窗标题、登录框
space-between首尾贴边均分导航栏 logo+菜单
space-around元素两侧等距图标按钮组
space-evenly全部空隙相等均分菜单项

space-between和space-around最容易混:between首尾贴边,around首尾有一半间距。

flex 简写与子项伸缩

flex: 放大 收缩 基准。默认flex:0 1 auto(不放大、可收缩、按内容尺寸)。设置flex:1能让子项按比例瓜分剩余空间,是等分布局的关键。

flex 简写速查
写法含义用途
flex: 11 1 0%子项拉伸占满,等分
flex: 0 1 auto默认按内容尺寸,可收缩
flex: 0 0 200px0 0 200px固定200px,不伸缩
flex: 2 1 0%2 1 0%占两倍于flex:1的份量

想让某列固定宽度、其余自适应,就给固定列 flex:0 0 200px,其余 flex:1。

Flexbox 常见布局套路

  • 圣杯布局:header/content+sidebar/footer,用flex+flex-direction:column组合。
  • 垂直居中:justify-content+align-items都设center。
  • 等分工具栏:子项全部flex:1。
  • 倒序排列:flex-direction:row-reverse无需改DOM顺序。
  • 吸底footer:外层flex column,内容flex:1,footer自然贴底。
高频布局套路
布局关键代码说明
垂直居中justify-content:center; align-items:center一行搞定
等分工具栏子项 flex:1均分剩余空间
吸底 footer容器 flex column; 内容 flex:1footer 贴底
两侧分布justify-content:space-betweenlogo在左、菜单在右

这些套路代码量少、好维护,是前端布局的高频模板。

Flexbox布局器参考数据

justify-content 与 align-items 取值一览

取值justify(主轴)效果align(交叉轴)效果
flex-start靠起点排靠交叉轴起点
flex-end靠终点排靠交叉轴终点
center居中居中
space-between首尾贴边均分—(多行时用)
space-around元素两侧等距—
space-evenly全部空隙相等—
stretch—子项拉伸填满(align默认)
baseline—按文字基线对齐

子项常用属性参考

属性作用示例
flex-grow放大比例flex-grow:1 占满
flex-shrink收缩比例flex-shrink:0 禁压
flex-basis基础尺寸flex-basis:200px
order排列顺序order:-1 排最前
align-self单独对齐align-self:flex-end
margin:auto自动吸收剩余空间margin-left:auto 右推

使用说明

使用方法

1. 选择flex-direction控制主轴方向。

2. 调整justify-content控制主轴对齐。

3. 调整align-items控制交叉轴对齐。

4. 设置flex-wrap和gap。

5. 复制生成的CSS代码使用。

分享工具: Facebook Twitter 微博 复制链接