/* make keyframes that tell the start state and the end state of our object */ @-webkit-keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } } @-moz-keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } } @keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } } .fade-in { opacity: 0; /* make things invisible upon start */ -webkit-animation: fadein ease-in 1; /* call our keyframe named fadeIn, use animattion ease-in and repeat it only 1 time */ -moz-animation: fadein ease-in 1; animation: fadeIn ease-in 1; -webkit-animation-fill-mode: forwards; /* this makes sure that after animation is done we remain at the last keyframe value (opacity: 1) */ -moz-animation-fill-mode: forwards; animation-fill-mode: forwards; -webkit-animation-duration: 2s; -moz-animation-duration: 2s; animation-duration: 2s; } .fade-in.one { -webkit-animation-delay: 0.5s; -moz-animation-delay: 0.5s; animation-delay: 0.5s; } .fade-in.two { -webkit-animation-delay: 1s; -moz-animation-delay: 1s; animation-delay: 1s; } .fade-in.three { -webkit-animation-delay: 1.5s; -moz-animation-delay: 1.5s; animation-delay: 1.5s; } .fade-in.four { -webkit-animation-delay: 2s; -moz-animation-delay: 2s; animation-delay: 2s; } /* page transition */ .fade-enter { opacity: 0; } .fade-enter.fade-enter-active { opacity: 1; transition: opacity 500ms ease-in; } .fade-exit { opacity: 1; } .fade-exit.fade-exit-active { opacity: 0; transition: opacity 300ms ease-in; }