Las pseudo-clases
:link y
:visited solamente están definidas para los enlaces, pero las pseudo-clases
:hover y
:active se definen para todos los elementos HTML. Internet Explorer 6 y sus versiones anteriores solamente las soportan para los enlaces.
Entonces, el
li:hover funciona, pero ese código no hace nada porque no está declarado nada (
{}).
Saludos