【发布时间】:2017-02-07 11:22:17
【问题描述】:
目的:我想在从一个页面点击到另一个页面时添加一个漂亮的过渡效果
我在网上尝试了很多解决方案,包括:
- Angular 2 — Animating Router transitions
- Page transition animations with Angular 2.0 router and component interface promises
- ....
一个共同点是它们都添加了position: absolute 或position: fixed 之类的样式,这破坏了我现有的应用程序布局。
我记得当我使用 Angular 1 时,没有必要将 position: absolute 添加到 <div ui-view><div>
在 Angular 2 或 4 中是否可行?
【问题讨论】:
-
您能找到解决方案吗?
-
您需要绝对位置/固定位置,否则当另一个屏幕出现时,它们将紧挨着另一个。虽然您需要它们在相同的坐标上相互覆盖。在我的例子中,我重写了我的网络应用程序的 CSS 以允许绝对定位的路线而不会破坏布局。
-
截至今天,我也在为此苦苦挣扎。我们似乎必须添加
position: fixed或position: absolute的事实对我来说似乎真的很愚蠢而且一点也不聪明。我真的希望 Angular 团队比这更好。必须有另一种方式。我的评论根本没有帮助,对不起。如果在我之前没有人这样做,我会尝试找出一些东西并将其发布在此处。 -
正如@MartinNuc 评论的那样,如果需要滑动路线动画,目前(4.3.6)的一种实用解决方案似乎是从
flex移动到fixed布局。 -
@lkartono
fixed和absolute定位不是 Angular 的事情。如果它们是relative/static,那么它们就不能重叠——这是普通的 HTML 事物。动画无法控制这一点。不过有一些选项 - 您可以绑定页面position样式并在过渡开始/结束时更新它们 - 这样它们在过渡时只有absolute,当动画结束时返回到relative
标签: angular animation transition angular4