@keyframes changeWidth {
/* имя должно быть описательным */
from {
/* Здесь перечисляются CSS-свойства */
width: 0;
}
to {
/* Здесь перечисляются CSS-свойства */
width: 100%;
}
}
@keyframes fadeIn {
from { opacity: 0; }
to { opacity: 1; }
}
@keyframes fadeOut {
from { opacity: 1; }
to { opacity: 0; }
}
.className:hover {
animation-name: changeWidth, fadeIn;
animation-duration: 1s;
}
.className:active {
animation-name: fadeOut;
animation-duration: .5s;
}
animation-timing-function: ease-out;
animation-timing-function: cubic-bezier(1, .03, 1, .115);
animation-delay: 1s;
animation-iteration-count: 10; // повторим 10 раз
// повторим бесконечно - «пульсирующий» эффект
animation-iteration-count: infinite;
animation-direction: alternate;
!!! используйте четное число animation-iteration-count для возвращения в исходное состояние !!!
animation-fill-mode: forwards;
.fade {
animation: fadeOut 2s ease-in-out 2 alternate 5s forwards;
}
// соответсвует
.fade {
animation-name: fadeOut;
animation-duration: 2s;
animation-timing-function: ease-in-out;
animation-iteration-count: 2;
animation-direction: alternate;
animation-delay: 5s;
animation-fill-mode: forwards;
}