Reputation: 1866
Is it possible to use normal CSS animations in angular?
I am trying just to show a div with a simple animation (the div is hide, then appears)
<div class="burguer-icon" (click)="onClick()">
<i class="fas fa-bars"></i>
</div>
<div
[ngClass]="showMenu ? 'shown' : 'hide'"
class="menu-content"
>
<div class="cross-icon" (click)="onClose()">
<i class="fas fa-times"></i>
</div>
// content
</div>
and I toggle the state, if clicked or not, in my component.ts
onClick() {
this.showMenu = !this.showMenu;
}
onClose() {
this.showMenu = !this.showMenu;
}
my css file for this component looks like this:
.burguer-icon {
background-color: orange;
}
.menu-content {
position: absolute;
top: 0px;
width: 100vw;
height: 100vh;
background-color: green;
transition: all 3s ease;
}
.show {
left: 0px;
}
.hide {
left: 90vw;
}
Why this simple animation does not work? With angular, are you forced to use its animation strategy? https://angular.io/guide/animations
Thanks in advance
Upvotes: 1
Views: 2898
Reputation: 3391
Yes, you can use normal CSS animations. It's working fine on my end. Issue seems to be a typo in your class name show
in css and shown
in component html.
Update your html like:
[ngClass]="showMenu ? 'show' : 'hide'"
Upvotes: 2