单击触发器后,我的div会立即扩展,而不是随着时间的流逝而发生……这是为什么,我该如何解决?
html
<div class="card" #panel [ngClass]="{heightChange: panel.isExpanded}">
<div class="header">
<div class="itemName">Some text goes here</div>
<mat-icon *ngIf="!panel.isExpanded" (click)="panel.isExpanded=true">edit</mat-icon>
<mat-icon *ngIf="panel.isExpanded" (click)="panel.isExpanded=false">cancel</mat-icon>
</div>
</div>
css
div.card {
background: white;
padding: 12px;
justify-items: center;
transition: all 0.5s;
}
mat-icon {
cursor: pointer;
}
div.header {
display: flex;
justify-content: space-between;
}
.heightChange {
height: 150px;
}
答案 0 :(得分:1)
只需在您的height
类中添加一个div.card
属性以获取初始高度。
然后添加另一个具有新高度的名为div.card.heightChange
的类。 transition
仅适用于height
,而不是全部。
将CSS类更改为此:
div.card {
background: white;
padding: 12px;
height: 25px;
justify-items: center;
transition: height 0.5s;
}
div.card.heightChange {
height: 150px;
}
这是您推荐的Working Sample StackBlitz。