我希望一个 div 使用 css 从 angular 2 的右侧滑入。
<div class="note" [ngClass]="{'transition':show}" *ngIf="show">
<p> Notes</p>
</div>
<button class="btn btn-default" (click)="toggle(show)">Toggle</button>
如果我只使用 [ngClass] 来切换类并利用不透明度,我工作得很好。但是我不希望从一开始就渲染该元素,所以我首先用 ngIf “隐藏”它,但是过渡将不起作用。
.transition{
-webkit-transition: opacity 1000ms ease-in-out,margin-left 500ms ease-in-out;
-moz-transition: opacity 1000ms ease-in-out,margin-left 500ms ease-in-out;
-ms-transition: opacity 1000ms ease-in-out,margin-left 500ms ease-in-out ;
-o-transition: opacity 1000ms ease-in-out,margin-left 500ms ease-in-out;
transition: opacity 1000ms ease-in-out,margin-left 500ms ease-in-out;
margin-left: 1500px;
width: 200px;
opacity: 0;
}
.transition{
opacity: 100;
margin-left: 0;
}
原文由 Han Che 发布,翻译遵循 CC BY-SA 4.0 许可协议
更新 4.1.0
普朗克
另请参阅 https://github.com/angular/angular/blob/master/CHANGELOG.md#400-rc1-2017-02-24
更新 2.1.0
普朗克
有关更多详细信息,请参阅 angular.io 上的动画
原来的
*ngIf
当表达式变为false
时,从 DOM 中删除元素。您不能在不存在的元素上进行转换。改为使用
hidden
: