Real-World Metaphors in UI 是一套面向界面设计的模式指南,核心主张是借用物理世界的 UI 模式可以降低学习曲线,因为用户已经知道它们如何工作:卡片感觉像可以拿起来的东西,轮播感觉像翻阅一叠卡片,抽屉感觉像从侧面滑出。这些隐喻带有可供性(affordance),用户无需阅读说明就知道该怎么做。资料强调应当有意地使用它们,而不是单纯作为装饰。
常见隐喻及适用时机
卡片(Card):卡片是一个有边界的、自包含的内容单元,像一张实体索引卡或货架上的产品。适用于内容项彼此离散且可比较(产品、人物、文章、任务);每一项需要被快速扫视并可能被操作;各项能从视觉缩略图、图片或图标中受益。关键属性:卡片应当有可抓取感,即使用层级(--shadow-sm)、圆角和清晰边界;同一组卡片宽度应一致,高度可随内容变化;每张卡片只设一个主要操作,次要操作在悬停时或详情视图中出现。卡片暗示“我可以把它拿起来做点什么”,如果点击后什么也不发生,则应改用列表。
轮播 / 横向滚动(Carousel / Horizontal Scroll):轮播借用的是翻阅一叠内容或把内容沿轨道滑动的物理动作。适用于内容多于视口容量且浏览是主要模式;内容项有自然的视觉顺序(步骤、精选内容、媒体);预期用户是探索而非寻找某个特定项。注意事项:轮播会隐藏内容,重要内容不应只存在于轮播中;自动轮播会降低用户控制感,优先采用用户驱动的导航;在移动端,没有显式导航点的横向滚动比箭头更自然。
抽屉 / 侧面板(Drawer / Side Panel):抽屉从边缘滑入,像实体书桌抽屉——它在不替换当前视图的情况下带来额外上下文。适用于需要次要细节但不想丢失主视图上下文;在编辑或配置某项时保持背后的列表可见;移动端导航模式(汉堡菜单打开侧边抽屉)。关键属性:抽屉应感觉锚定在边缘——导航在左,详情/设置在右;始终提供清晰的关闭操作(× 按钮和点击外部);背后内容应略微变暗(遮罩)以表示抽屉是上层。
手风琴(Accordion):像实体文件夹展开露出内容——收起以节省空间,展开以显示细节。适用于内容有清晰的父子层级;多数用户一次只需要少数几个分区;垂直空间受限。
标签页(Tabs):像活页夹中的实体分隔标签——选择某个标签查看其分区。适用于内容被划分为互斥的平级分区;用户在分区之间频繁切换;所有标签对同一上下文同等相关。注意事项:标签页暗示平级、同等重要的分区,不要用手风琴层级导航(应改用面包屑或侧边栏)。
工具提示(Tooltip):像贴在物体上的便签——悬停时出现,提供简短的额外上下文。适用于图标或控件需要简短标签、而该标签常驻会挤占布局;某个术语或数值需要在上下文中作简短解释。它不能替代:清晰的标签、行内帮助文本,或复杂功能的文档。
用好隐喻的原则
隐喻应与交互匹配——点击后什么也不做的卡片会造成虚假可供性;不要混用隐喻——卡片里套轮播、轮播里再套抽屉会造成认知噪音;移动端与桌面端借用不同隐喻——滑动关闭、底部面板和下拉刷新是移动端原生的,强行搬到桌面端在两个方向上都会显得不对;层级强化隐喻——没有阴影的卡片不感觉可抓取,没有遮罩的抽屉不感觉是分层的。
评审清单
所选模式是否与用户会直觉到的物理隐喻匹配?卡片是否有清晰的主要操作,而不只是装饰?轮播或横向滚动是否有导航可供性(圆点、箭头或露出下一项的一部分)?抽屉是否让背景内容变暗以表示分层?物理隐喻是否保持一致——同一类内容在整个产品中是否使用同一模式?