我正在尝试使用 angular 4.1.2使用 3D CSS 表达式的伪状态更改表达式:enter
来动画路由器转换。:leave
阅读angular.io文档,其中描述了void => *
和* => void
for:enter
和:leave
伪转换。
在尝试了这篇文章slide in out
的转换之后,我最终可以通过设置我的组件 css 文件来让它工作(应该让作者知道)。:host {postion:relative}
这有效:
trigger('routerAnimation', [
transition(':enter', [
style({ right: '-400%' }),
animate('.2s ease-in-out', style({ right: 0 }))
]),
transition(':leave', [
animate('.2s ease-in-out', style({ right: '-400%' }))
])
]);
这没有:
trigger('routerAnimation', [
transition(':enter', [
style({ transform: 'translateZ(-400px)' }),
animate('.2s ease-in-out', style({ transform: 'translateZ(0)' }))
]),
transition(':leave', [
style({ transform: 'translateZ(0)' }),
animate('.2s ease-in-out', style({ transform: 'translateZ(-400px)' }))
])
]);
我真的很困惑为什么会发生这种情况,我还尝试将我的:host
定位设置为relative
以absolute
确保我没有犯 CSS 错误。
任何帮助都将是超级超级超级棒:)