MODULE 09 / LESSON 01
Web 的原生行为与页面类型
理解链接、URL、滚动、返回与浏览器习惯。
先理解这个概念
网页存在于浏览器中。打开新标签、复制链接、前进后退、文本选择和页面缩放都属于用户熟悉的能力。内容站以阅读与发现为中心,Web 应用以任务和操作为中心,首页结构应该反映这个区别。
Web 用户会使用地址栏、刷新、返回、新标签、复制链接和查找文字。前端路由能减少整页加载,但不能把这些约定当成可忽略的附属功能。一个视图若值得保存或分享,就通常需要稳定地址和直接访问能力;点击能切换并不代表路由体验完整。
浏览器是宿主运行时。重新实现已有能力容易引入边缘行为。
记住这三个原则
- 01
可导航内容提供真实 URL。
- 02
页面变化保持标题、当前位置与返回行为一致。
- 03
保留文本选择和合理滚动,避免滥用全屏固定布局。
实际设计时,分三步做
- STEP 01
区分导航与动作,使用真实链接和按钮语义,让浏览器保留键盘、新标签和地址预览行为。
- STEP 02
为详情、筛选与关键视图定义可恢复状态,验证直接访问、刷新和历史遍历,而不仅是从首页点过去。
- STEP 03
客户端切换时检查标题、焦点、滚动和加载反馈。修复路由初始化与数据加载问题,而不是只改地址栏。
一个容易理解的例子
每个详情都只能在不可链接的浮层中打开,刷新后回到首页。
详情拥有独立地址,支持新标签打开,并能恢复列表上下文。
浏览器能力本身就是产品体验的一部分。
展开看:从场景到设计决定
课程列表打开一篇文章后,URL 应对应课程;复制地址在新窗口打开,仍能得到同一篇内容。上一课和下一课是导航链接。答题展开是当前页面动作,不必生成新页面。若客户端切换失败,应检查实际调用与数据响应;单纯 pushState 会改变地址却不一定更新正文,造成更严重的不一致。
适用边界与取舍
整页导航本身是有效的 Web 行为,但频繁学习切换可能更适合客户端导航。选择实现方式时,应保留平台约定并验证完整体验,而不是把“无刷新”当唯一指标。
把这个原则用一次
先做一个小判断
一个技术文档站的首页应该优先提供什么?
再完成一份设计练习
为一个课程详情页写五条导航验收条件,至少包含直接打开和浏览器返回。
不要把所有交互都写成 onClick 跳转,真实链接具有额外语义与操作能力。
继续查阅
本课为原创教学解释。具体平台规则与标准可查阅官方资料。
MDN · CSS layout