Vous pouvez le faire avec moins CSS comme ceci:
.myClass { background: url(../Images/Sprite.png) no-repeat;
height: 20px;
width: 40px;
background-position: -40px 0;
display: block; }
.myClass:hover { background-position: -40px -20px; }
Quelle que soit a la classe class="myClass"
aura juste l'image, rien autre. Cela peut être un <a>
un <input>
ou un <div>
normal, ce que vous voulez.
C'est une image de fond ... mais c'est l'élément que vous regardez, rien n'est en face de ce contexte. Ce n'est pas parce que vous utilisez background-image
pour la propriété que ce n'est pas un élément de premier plan ... comme un bouton sur lequel vous pouvez cliquer. Vous pouvez le faire comme ceci:
<input type="button" class="myClass" />
Génie, merci !! – Summer
Ceci est trop IMO, vous pouvez simplement définir l'entrée pour afficher le bloc et supprimer le div/wrapper hors de l'équation tous ensemble, c'est une approche beaucoup plus simple. –
@Nick Cela n'a aucun sens. Comment appliqueriez-vous un sprite sans utiliser le conteneur? –