SuperAPI AI 工具集

layout-responsive

前端与建站

查看项目

更新于 10-16 04:01

技能介绍

用途

该技能聚焦于 Material UI(MUI)的布局组件与响应式设计模式,帮助开发者在 MUI 项目中组织页面结构、实现跨断点自适应布局。内容覆盖 MUI v6 的 Grid v2、Stack、Container、Box 等布局组件,以及断点体系与常见页面布局方案。

主要能力

Grid v2

MUI v6 默认使用 Grid v2(从 @mui/material/Grid 导入)。其 size 属性替代旧的 xs/sm/md 等属性,内部始终使用 CSS grid,并且不再需要 item 属性——容器的每个直接子元素都是网格项。

  • 固定列宽:<Grid size={6} />
  • 响应式列宽:<Grid size={{ xs: 12, sm: 6, md: 4, lg: 3 }} />
  • size="auto":收缩到内容宽度
  • size="grow":填充剩余空间(等价于旧的 xs="true")

间距与偏移:支持统一 spacing、分开的 columnSpacing/rowSpacing、响应式 spacing 对象,以及 offset(含响应式 offset)和嵌套网格。

Stack

Stack 是一维布局组件(flexbox 行或列),适合线性排列的组件序列。支持响应式 direction、spacing、alignItems,可通过 divider 在项之间插入分隔线。默认使用负外边距模拟间距;当子元素或容器具有 overflow: hidden 时,应设置 useFlexGap 改用 CSS gap 属性。

Container

Container 通过 maxWidth 实现内容水平居中并限制最大宽度,是页面内容的主要布局包装器。支持响应式 maxWidth(如 lg 默认 1200px、sm 默认 600px)、maxWidth={false} 全宽流式、fixed 在各断点间跳变。

Box

Box 默认渲染为 div,可通过 component 属性改变元素类型,支持完整 sx 属性与系统简写。可用于 flex 居中、区块间距、滚动容器等场景。

断点与 useMediaQuery

默认断点(px):xs 0、sm 600、md 900、lg 1200、xl 1536。断点辅助函数包括 up、down、between、only。useMediaQuery 钩子可在组件中判断当前断点,支持 defaultMatches 与 noSsr 选项以配合 SSR。

使用方式

内容以可复制的代码示例形式给出,开发者可直接参考示例在 MUI 项目中编写布局代码。示例涵盖:

  • 基础 Grid、间距、偏移、嵌套网格
  • Stack 的垂直/水平/响应式用法与分隔线
  • Container 的多种 maxWidth 配置
  • Box 作为布局基础组件
  • useMediaQuery 与断点辅助函数
  • 常见布局模式与进阶布局模式

适用场景

  • 构建 MUI 应用的页面骨架(应用外壳、侧边栏加主内容)
  • 仪表盘类界面的卡片网格与统计行布局
  • 认证页等居中表单布局
  • 瀑布流(Masonry)布局
  • 响应式 AppBar 与 Drawer 组合布局、迷你变体侧栏、粘性头部加可滚动内容
  • 通过 useMediaQuery 或 sx 断点对象实现按屏幕尺寸切换显示

限制

资料未提供该技能的安装方式、收费信息、支持平台、版本兼容要求或性能表现等具体说明。Masonry 布局来自 @mui/lab,资料未说明其稳定性或长期支持情况。Grid v2 的 size 属性写法针对 MUI v6,旧版本行为未在资料中说明。