Usted puede hacer esto con menos CSS como esto:
.myClass { background: url(../Images/Sprite.png) no-repeat;
height: 20px;
width: 40px;
background-position: -40px 0;
display: block; }
.myClass:hover { background-position: -40px -20px; }
Lo que tiene la clase class="myClass"
tendrá sólo la imagen en ella, nada más. Puede ser <a>
<input>
o <div>
normal, lo que usted quiera.
Es una imagen de fondo ... pero es el elemento que está mirando, nada está delante de ese fondo. El hecho de que use background-image
para la propiedad no significa que no sea un elemento en primer plano ... como un botón en el que puede hacer clic. Puede hacerlo así:
<input type="button" class="myClass" />
Genio, ¡gracias! – Summer
Esto es IMO exagerado, usted puede simplemente configurar la entrada para mostrar el bloque y eliminar el div/envoltorio de la ecuación todo junto, es un enfoque mucho más simple. –
@Nick Eso no tiene ningún sentido. ¿Cómo aplicarías un sprite sin usar el contenedor? –