Flex 布局
一组订单摘要要沿同一方向排开,间距会跟着容器一起调整。
前端与交互约 10 分钟 · 从真实需求理解
1三张卡片怎样自动排成一行?
外卖订单摘要里,菜品、配送和金额是同一组信息。Flex 先让容器决定排列方向,再给同级卡片分配间距和对齐方式。
- 开始时:三张卡片上下堆叠,空间关系还没有被统一安排。
- 完成后:三张卡片沿一行排开,间距和基线保持一致。
2Flex 和 CSS、组件,什么时候不能互换?
当需求是让同一组内容沿一条轴排列时,用 Flex 解决空间关系;样式 CSS 负责写出规则,组件 Component 负责把界面单元复用起来。Flex ≠ CSS,也不是组件本身。
- 想改变卡片的排列方向、间距或对齐,先检查容器的布局规则。
- 想统一按钮颜色或边框,处理的是 CSS 外观;想复用一张订单卡,处理的是组件边界。
3Flex 由哪些真实部分组成?
看订单摘要的真实界面:标注会落在同一个 Flex 容器、它的规则和三张同级卡片上。
- 点击编号或说明行可以固定当前部件,悬停离开后仍恢复已固定的部件。
- 容器和卡片都来自真实 DOM 测量,不用图片坐标猜位置。
4Flex 有哪些组件级变体?
单行横向
flex-directionrow
菜品牛肉饭
配送18:30
金额¥32
单列纵向
flex-directioncolumn
菜品牛肉饭
配送18:30
金额¥32
横向换行
flex-wrapwrap
菜品牛肉饭
配送18:30
金额¥32
单行横向、单列纵向和横向换行是同一 Flex 容器的不同布局语义;每项都直接展示菜品、配送和金额三块内容的排列结果。
5Flex 放进真实场景后怎样回应?
模拟容器宽度
真实页面不是让用户手动改方向,而是容器宽度变化后由 Flex 规则决定排列。
可用宽度520px · row
菜品牛肉饭
配送今天 18:30
金额¥32
模拟订单摘要从 520px 宽变成 320px 宽,同一组信息从横向排列变成纵向堆叠;选择后主体即时更新。
6Flex 布局什么时候用、什么时候不用?
菜品牛肉饭
配送今天 18:30
金额¥32
排列关系行 + 列
结构二维页面骨架
更合适Grid
Flex 布局什么时候用、什么时候不用?先看任务边界,再看组件外观。
- 什么时候用:菜品、配送和金额沿一条轴排开,间距和对齐由同一个容器管理。
- 什么时候不用:需要同时控制行、列和跨轨道关系时,不要用多个 Flex 硬拼网格。
怎么判断:先看用户要完成的任务和内容关系,再选择职责准确的组件。
7怎样把 Flex 需求交给 Agent?
请使用 Flex 实现外卖订单摘要:让菜品、配送和金额三张同级卡片由一个容器沿横向排列,设置 12px 间距并保持顶部对齐;当可用宽度不足时允许卡片换行,不要把它们缩成不可读的小字;使用真实 DOM 和项目间距变量,在 390px 与 320px 宽度下不出现页面横向滚动。
8不用背,看看你能不能判断
1 / 3
Flex 最主要解决什么问题?
请选择一个最符合题意的答案
社区延伸
看别人真实遇到过什么
社区帖子还没有关联到这个词条。