Techniquement y'a rien de mal à faire ça. Si tu nous filais des liens ce serait plus simple de trouver l'explication.
Comme ça à froid je dirais que c'est probablement pour utiliser la propriété hover de CSS tout en affichant un lien. Il me semble que pour faire un hover sur un <img src="" alt="" /> on doit utiliser du JS alors qu'en CSS tu affiches une image vide pour faire le lien (on ne peut pas appliquer un lien à un div enfin il me semble) et tu t'en sers de la classe pour l'image ce qui te permet d'avoir hover sur le div et le lien en même temps. J'ai du mal à m'exprimer donc dis moi si ça se comprend pas =D
EDIT : Pour illustrer mon propos :
Comme ça à froid je dirais que c'est probablement pour utiliser la propriété hover de CSS tout en affichant un lien. Il me semble que pour faire un hover sur un <img src="" alt="" /> on doit utiliser du JS alors qu'en CSS tu affiches une image vide pour faire le lien (on ne peut pas appliquer un lien à un div enfin il me semble) et tu t'en sers de la classe pour l'image ce qui te permet d'avoir hover sur le div et le lien en même temps. J'ai du mal à m'exprimer donc dis moi si ça se comprend pas =D
EDIT : Pour illustrer mon propos :
<a href="monlien.html"> <img src="vide.png" alt="" class="a" /> </a>}
.a {
background: url(image_a.jpg) no-repeat;
height: 20px;
width: 20px;
}
.a:hover {
background: url(image_a_hover.jpg) no-repeat;
}