Lo que no veo es el :hover en tu código.
Transiciones con CSS puedes hacerlo usando
CSS3 con transition. Lo casi más básico es algo así:
Código CSS:
Ver originalelemento {
color: black;
transition: color 2s;
}
elemento:hover {
color: red;
}
Sería apropiado añadir los prefijos de los distintos navegadores para lograr un mayor soporte por parte de estos.