动画时路由器动画不保留高度

时间:2018-07-16 14:03:19

标签: css angular animation router

在我的有角度的项目中,我添加了路由器动画,但它们工作正常,除了主要的滞后,在我看来,这是由于视口失去动画关键帧而导致height: 100% css设置造成的。

因此,它首先从绘制当前视图的缩小版本开始以替换当前视图,并为切换到进入该视图的组件的缩小视图设置动画,然后重新绘制刚加载的新视图是实际的高度值,它会尝试在几毫秒内完成所有操作。

如果每个视图都有一个硬编码的高度(例如:height: 200px,在这种情况下,它不依赖于父级来知道最终的外观)。动画不会滞后,因为它只需要绘制当前具有的视图的“向右滑动”帧+正在加载的视图即可。

所以实际上是height属性的丢失导致了延迟。

问题是,我需要100%的高度,因为如果路由器出口上方的内容改变了尺寸,我将用它来获得可以动态调整大小的内容。

我如何同时保留height: 100%和路由器动画?

1 个答案:

答案 0 :(得分:1)

如果还有其他内容(如页眉或页脚),则相对大小效果不佳。如果其他内容具有动态高度,请在路由器转换中尝试以下操作:

style({ position: 'absolute', width: '100%', top: '10%', bottom: '0' })

这样,动画应该可以正常播放。