跳到正文
编程术语图鉴

共 30 条词条

简体

弹性布局

难度 · 进阶

/flexbox

也叫: 弹性盒子 · 一行排列 · 自动伸缩排布

你可能会说

这几个元素想横着排,还要垂直居中

让一排元素自动伸缩、对齐方便的排版方式

看一眼它长什么样

主轴
次轴
首页
分类
搜索
我的

上面这些交互全部由 CSS 完成,没有加载任何脚本 —— 和真实产品里的组件是同一个道理。

大白话解释

弹性布局是用来摆「一行」或「一列」元素的工具。你把几个盒子丢进一个容器,说一句「横着排、中间留空、垂直居中」,它们自己就排好了。

像地铁上几个人分一排座位:可以让每个人一样宽,也可以让某个人占掉剩下的全部空间,靠左靠右由你说了算。

它最省事的地方是居中和等分。以前要写一堆偏方才能让东西垂直居中,现在两行就搞定。

什么时候会遇到

  • 导航栏左边 logo、右边几个菜单项,中间自动撑开留白。
  • 卡片里图片在上文字在下,底部日期永远贴着底对齐。
  • 表单一行的标签加输入框,输入框自动占满剩余宽度。
  • 一排按钮在窄屏要自动换行,还得保持间距一致。
  • 页面正中放个登录框,水平垂直都要居中。
  • 用 Tailwind 写的那几个以 flex 开头的类名,就是在用弹性布局。

可以直接对 Agent 说

「这个聊天页面的输入框要固定在底部、消息列表占满上面剩下的高度,用弹性布局实现,注意消息多的时候能自己滚动,别把输入框顶下去。」

「导航栏现在是散的,改成左边 logo、右边三个菜单项、整体垂直居中,用弹性布局实现,别用浮动。」

「这排按钮在窄屏会挤变形,帮我改成自动换行,每个按钮保留最小宽度,间距统一 8px。」

正文里带下划线的词,是本站其它词条的入口;这一篇自动链了 2 个相关术语。

最容易想岔的地方

常见的错误理解: 弹性布局就是让元素自动排列,不用管宽度

更准确的理解: 它的重点是分配剩余空间和定义收缩规则。不写收缩比例,窄屏幕上内容多的那块会被压到看不见

常见的错误理解: 用了弹性布局就不用管内容长度,多长都能放下

更准确的理解: 弹性布局只负责分配空间,不负责截断内容。文字过长还是要自己加省略号或者换行

测一下:真遇到了你会怎么处理

单选 · 选完立刻看解释

导航栏里有 5 个按钮,要横向排列、贴住两端、中间间距自动均分。

用什么最合适?

题目只考「这个场景下的第一反应」,不考名词背诵 —— 弹性布局的定义在上面已经讲过了。

这个词出现在这些路线里

网格布局 Grid Layout

排成三列,每列一样宽,间距统一

又称 格子布局 / 网格系统 / 二维排版

响应式 Responsive

手机上打开整个挤成一团了,帮我改改

又称 自适应 / 自适应布局 / 多端适配

断点 Breakpoint

手机和电脑上想用不一样的排版,怎么设

又称 临界宽度 / 切换点 / 屏幕分界点

卡片 Card

把这些文章排成一格一格的卡片列表

又称 卡片组件 / 信息卡 / 小卡片