跳转到内容

响应式行为

响应式设计是在不同宽度下保持同一页面的清晰含义,而不是互不关联的桌面和移动图片。

hero-actions 内的同样两个控件从 1440 的横排变为 375 的纵排
从上到下阅读:横排变为纵排,名称和有意义的父级不变。这种重排不需要结构转换声明;若改变父级或采用不同结构,则须另行声明。 查看原图。

图解入门说明这些决策为什么对团队重要。

每个根图层保持相同的页面和状态,只改变上下文宽度:

home [page=home] [bp=1440] [view=default]
home [page=home] [bp=375] [view=default]

选择团队真正会实现的宽度。截图宽度不会自动成为产品断点。

可用空间变化时,可以改变:

  • 尺寸和间距;
  • 列数;
  • 同一个有意义父级中的顺序;
  • 可选内容的可见性;
  • 已声明的展示方式,例如表格变为折叠列表。

页面含义、内容标识、动作和阅读顺序必须保持清晰。

窄屏可以一次显示更少元素,但不能悄悄删除记录、改变价格或替换含义。分页、筛选或单独请求属于产品行为,应单独说明。

检查两个示例宽度之间的其他宽度,而不只检查示例本身。文本、卡片、表格、固定控件和焦点指示器在这些宽度下也需要明确行为。优先使用按内容确定的尺寸和流式布局,而不是为每种设备复制页面。

当结构发生变化时,说明来源、结果以及需要保留的内容:

  • 记录和内容;
  • 动作和字段关系;
  • 选择和打开状态;
  • 阅读顺序和焦点顺序。

按照交付契约,把对应关系记录到 responsive.transformations[]。table-mobile 这样的名称无法说明什么改变、什么保留。

如果产品支持 RTL、本地化、缩放、减少动效或长文本,也要检查这些上下文。镜像布局不能破坏阅读顺序、键盘顺序、动作目标或可访问名称。

当团队清楚什么保持不变、什么会变化、在什么条件下变化,以及哪些数据或动作被保留时,响应式部分就准备好了。结构化参考见变化轴。

放大后滚动查看细节。按 Esc 关闭。