【发布时间】:2019-01-07 23:05:05
【问题描述】:
如何在路由更改的两个不同视图中定义的两个元素之间进行转换,通常称为跨多个页面元素的“共享转换”或“类似原生的转换”页面布局?
这里有一些例子:
常见的解决方案是通过在页面流之外使用不同的元素或通过在布局中覆盖元素并使用考虑到覆盖空间的自愿空白和绝对定位来假装这种效果,以给人一种元素内置在自然中的印象页面流。例如见Native-Like Animations for Page Transitions on the Web(见comment)或snipcart/vue-blog-demo。
共享元素转换会在不同页面布局的不同视图中分别定义的两个元素之间创建关系,并在它们之间转换,可能以一种 FLIP 方式。
【问题讨论】:
-
@JoseFG 在我看来,没有“有针对性的”过渡:动画元素在 BlogPost 布局之外定义一次,通过使用(过滤的)帖子列表作为英雄图像(github.com/snipcart/vue-blog-demo/blob/master/src/components/…)图像因此没有在帖子布局github.com/snipcart/vue-blog-demo/blob/master/src/components/… 中定义,最终的布局必须在不嵌入英雄图像的情况下构建,通过使用绝对或固定位置来考虑图像空间。
-
@JoseFG 我更精确地编辑了这个问题。
标签: vue.js transition vue-router shared-element-transition vuepress