Recentemente eu estava planejando e desenvolvendo a interface para o curso de Socket.io, e como ela terá algumas animações à medida em que os dados chegam em tempo real, resolvi voltar a estudar CSS3, algo que há tempos não utilizo.
Às vezes ficamos focando em um navegador mais novo e esquecemos que algumas coisas podemos utilizar sem o Javascript, apenas com CSS. Vou criar uma pequena página HTML, um pouco de CSS e Javascript apenas para poder controlar a class:
.hello{
  border:2px solid grey;
  transition: all 3s;
}
.hello-active{
  border:2px solid red;
  background: grey;
}
<body>
  <div class="hello">
    Olá!
  </div>
  <script>
    const node = document.querySelector('.hello')
    node.addEventListener('click', function(){
      this.classList.add('hello-active');
    })
  </script>
</body>
O que o transition faz? Ele fala basicamente assim, "qualquer transição que você fizer envolvendo essa classe vai ter uma animação de X segundos". Apenas a propriedade transition já é possível fazer muita coisa.
No caso acima, ao clicar, a borda grey muda para red e o background grey em uma transição que dura 3 segundos. Também podemos fazer uma animação 'ao contrário', fazendo ele voltar ao estado original adicionando ao script a seguinte linha:
<script>
  const node = document.querySelector('.hello')
  node.addEventListener('click', function(){
    this.classList.add('hello-active');
  })
  node.addEventLiestener('transitionend', function(){
    this.classList.remove('hello-active');
  })
</script>
O evento transitionend faz com que, ao terminar o tempo determinado, remova do classList a class. Isso faz com que o CSS volte ao seu estado inicial em uma transição de 'vai e volta'. Podemos também adicionar animação em hover:
.hello.hover{
  background: green;
}
Como grande parte dos navegadores suporta CSS3 atualmente, conseguimos fazer tudo com ele, pelo menos para alguns tipos de aplicativos. Tudo isso utilizando apenas o transition, sem precisar utilizar Jquery. Confira os detalhes no vídeo:
Não perca nenhuma atualização. Cadastre seu e-mail, curta o 
DevPleno no Facebook e 
inscreva-se no canal. Deixe suas dúvidas e sugestões nos comentários.