跳到主要内容

Page 页面结构Page · PageHeader · Section

搭一页内容的三件套。Page 是外框:限宽、左右留白、区块纵向排开;PageHeader 是页头:面包屑、标题、说明、操作;Section 是带标题的内容区。间距按规范取:区块间 32,区块内 16。

示例

把窗口拉窄:页头的操作区按实际宽度换行,不依赖断点。

品牌手册

标志、色彩、字体的使用规范。放不下时,右侧的操作会整块换到标题下面。

概览

最近 7 天

浏览
1,284
评论
36
待审阅
3

章节

4
区块内容放这里。

API

Page 属性

属性类型默认值说明
asElementType'div'渲染成哪个元素。
size'sm' | 'md' | 'lg' | 'xl' | 'full''lg'内容最大宽度档位,同 Container。
gapResponsive<Space>8各区块之间的间距。
paddedbooleantrue上下留白(底部会避开安全区)。
…restHTMLAttributes—ref、className、style 和其余原生属性透传到根节点。

PageHeader 属性

属性类型默认值说明
title*ReactNode—页面标题。
descriptionReactNode—标题下面的说明。
breadcrumbReactNode—面包屑位:显示在标题上方。
actionsReactNode—操作区:宽屏在标题右侧,放不下时换到标题下面。
headingLevel1 | 2 | 3 | 4 | 5 | 61标题的级别。
titleIdstring—标题节点的 id,给 aria-labelledby 用。
childrenReactNode—放在页头最下面:标签页、筛选条之类。
…restHTMLAttributes—ref、className、style 和其余原生属性透传到根节点。

Section 属性

属性类型默认值说明
titleReactNode—区块标题。
descriptionReactNode—标题下面的说明。
actionsReactNode—标题右侧的操作。
headingLevel1 | 2 | 3 | 4 | 5 | 62标题的级别。
gapResponsive<Space>4标题与内容、内容与内容之间的间距。
…restHTMLAttributes—ref、className、style 和其余原生属性透传到根节点。

无障碍

  • PageHeader 渲染成 <header>,标题默认是 h1:一页只放一个。
  • Section 渲染成 <section>;有标题时自动用标题命名(aria-labelledby),读屏的地标列表里能直接跳到它。没有标题又需要名字时传 aria-label。
  • 嵌套时用 headingLevel 保持标题逐级递进,不要为了字号去改级别。
  • Page 本身没有语义;通常放在 AppShell.Main 或 <main> 里。