顶部悬浮胶囊菜单:点击 Menu 后以弹簧动画展开为大尺寸导航面板, 大号 primary 链接 + secondary 分组 + 社交链接三段式布局, 展开时汉堡图标同步变形成关闭叉号,点击面板外任意处自动收起。
基于 React、Tailwind CSS 与 Framer Motion。滚动页面,菜单会一直固定在顶部。
这里的正文只是占位内容,用来验证菜单的 fixed 定位与展开遮罩行为: 展开状态下继续滚动页面,菜单始终悬浮在视口顶部; 点击页面任意空白区域,菜单会自动收起回胶囊形态。
primaryLinks 渲染为 32px 大字号标题链接,secondaryLinks 是常规分组, socialLinks 以外链形式在新标签页打开。三组链接均为可选, 传入空数组时对应分组自动隐藏。
这类风格属于 Apple「Fluid Interfaces」与 Material Design「natural motion」一脉的现代 Web 动效, iOS Dynamic Island、Arc 浏览器、Linear 的菜单展开都是同一族。 一句话描述:单一容器在「胶囊」与「大面板」两种状态间连续形变(morph), 全程由弹簧物理驱动而非固定时长缓动曲线;内容子项以错峰编排(stagger)浮入浮出, 辅以 hover 位移、按压缩放等微交互,以及 SVG path 插值的图标变形。
设计文档归类关键词:spring-driven morphing + staggered choreography + tactile micro-interactions,中文可以叫「弹簧形变 + 错峰编排 + 触觉微交互」。