Si può fare questo con meno CSS in questo modo:
.myClass { background: url(../Images/Sprite.png) no-repeat;
height: 20px;
width: 40px;
background-position: -40px 0;
display: block; }
.myClass:hover { background-position: -40px -20px; }
Qualunque sia ha la classe class="myClass"
avrà solo l'immagine in essa, nulla altro. Questo può essere un <a>
un <input>
o un normale <div>
, qualunque cosa tu voglia.
È un'immagine di sfondo ... ma è l'elemento che stai guardando, niente è di fronte a quello sfondo. Solo perché stai utilizzando background-image
per la proprietà non significa che non sia un elemento in primo piano ... come un pulsante su cui puoi fare clic. Puoi farlo in questo modo:
<input type="button" class="myClass" />
fonte
2010-03-11 19:58:25
Genius, grazie !! – Summer
Questo è IMO overkill, puoi semplicemente impostare l'ingresso sul blocco di visualizzazione e rimuovere il div/wrapper dall'equazione all-together, è un approccio molto più semplice. –
@Nick Questo non ha alcun senso. Come applicheresti uno sprite senza usare il contenitore? –