Le due immagine possono avere anche dimensione diversa, l'effetto switch tra le due avviene uguale, e solamente consigliabile farlo con immagine della stessa dimensione, o impostando direttamente le dimensione al tag img solamente per non rendere scradevole l'effetto, visto che questo si fa, se non lo vuoi fare in CSS, con javascript, cosi:
Codice HTML:
<img src='percorso_immagine' onmouseover="this.src='percorso_altra_immagine'" onmouseout="this.src='percorso_immagine_originale'" />
Ti consiglio ti dare un'occhiata meglio a queste cose, soprattutto il codice all'interno delle attributi onmouseover, eseguito quando il cursore si trova sull'elemento, e onmouseout, eseguito quando il cursore va fuori dall'elemento, e del suo contenuto:
Codice:
this.src='percorso_img'
Codice javascript che dice di valorizzare l'attributo src dell'elemento corrente ( this ) al valore percorso_img.
Ovviamente questo è codice Javascript, e non funziona se viene disattivato dal client.
P.S.: Premetto che io negli ultimi tempi non ho mai provato a fare questo con i CSS, ma te li consiglio, soprattutto se l'utente disattiva javascript.