数字花园
一次优雅的撤退:跨页过渡的三十分钟生命周期
它来的时候,被所有人看好
跨页 View Transition——纯 CSS 一行 @view-transition { navigation: auto; },页面之间交叉淡入淡出,0.5 秒弹簧曲线。不碰任何脚本,不支持的浏览器自动降级。
技术上无可挑剔,甚至可以说优雅。它也确实上线了。
然后用户说了一句话
“在数字花园点联系,会闪一下主页最顶端,然后才到联系区。”
一句话,它就死了。
根因:快照不知道你要去哪
跨页过渡给新页面拍快照时,页面还停在顶端——浏览器不知道”联系”这个锚点在页尾。于是过渡先演到顶端画面,锚点跳转才姗姗来迟。
技术上可以修:pageswap 里判断目标带锚点就跳过过渡,直接落点。也确实修好了。
但修好之后回头看,问题变了:带锚点的跳转要直接落点,不带锚点的才配拥有过渡——那这条规则本身,就已经在承认过渡是错的了。
撤退的判断标准
留着它,页面之间多 0.5 秒的柔化,代价是心智里多一条”什么时候有、什么时候没有”的特例。
撤了它,世界回到简单:页面跳转就是跳转,干脆、直接、符合浏览器三十年来的预期。
**当一条规则需要例外来救,例外本身往往就是答案。**当天它就下线了,CSS 删了两段,脚本删了十行。
沉淀
这次迭代最值钱的不是加上了什么,而是敢在同一天把刚上线的东西拿下来。对的作品是反复打磨出来的,对的判断也是。
克制不只是不添加——克制也包括,亲手撤掉自己上个月还很得意的东西。
评论