Css sie kłania. Uzyj do tego :hover.
Przykład:
html:
<a href="#" class="button">jakiś button
</a>
css:
a.button {
background: url('obrazek1.png') no-repeat top left;
}
a.button:hover {
background: url('obrazek2.png') no-repeat top left;
Jeżeli chcesz to możesz dodać do tego element blokowy dopisując do "a.button" pomiędzy klamrami: display:block;
Obrazek1(odcień szarości) jest podstawowym obrazkiem bez nakierowania na niego, obrazek2(kolorowy) pokazany jest dopiero po najechaniu na hiperłącze.