I am getting the class ng-animate
applied to the directive but I'm not getting:
ng-hide-remove.ng-hide-remove-active
or .ng-hide-remove.ng-hide-remove-active
I have angular and angular-animate 1.3 loaded. and am including ngAnimate
in app.js
<div class="message animate-show {{message.type}}" ng-show="message">
{{message.text}}
</div>
The transitions are not happening:
.message.animate-show {
line-height:20px;
opacity:1;
padding:10px;
&.ng-hide-add.ng-hide-add-active,
&.ng-hide-remove.ng-hide-remove-active {
-webkit-transition:all linear 0.5s;
transition:all linear 0.5s;
}
&.ng-hide {
line-height:0;
opacity:0;
padding:0 10px;
}
}
For a simple animation like fading in/out, you need the following CSS classes:
.my-animation {
-webkit-transition: 0.5s linear all;
transition: 0.5s linear all;
opacity: 1;
}
.my-animation.ng-hide {
opacity: 0;
}
UPDATE:
If you have other transistion on the element that you don't want to get affected, use the following CSS definitions to only apply the transistions on the fading in/out:
.my-animation {
opacity: 1;
}
.my-animation.ng-hide {
opacity: 0;
}
.my-animation.ng-hide-add,
.my-animation.ng-hide-remove {
-webkit-transition: 0.5s linear all;
transition: 0.5s linear all;
}
See, also, this short demo.