Ver Mensaje Individual
  #2 (permalink)  
Antiguo 17/06/2013, 05:35
Avatar de pzin
pzin
Moderata 😈
 
Fecha de Ingreso: julio-2002
Ubicación: Islas Canarias
Mensajes: 10.489
Antigüedad: 22 años, 5 meses
Puntos: 2114
Respuesta: "Navegar" sobre una imagen

Con CSS puedes hacerlo.

Sólo tendrías que crear un contenedor, donde primero pones dos elementos para hacer el hover posicionados de forma absoluta, y a continuación la imagen. Una estructura así:

Código HTML:
Ver original
  1. <div class="contenedor">
  2.   <span class="izq"></span>
  3.   <span class="der"></span>
  4.   <img src="foto.png">
  5. </div>

Como digo, .izq y .der deberían de tener una posición absoluta. Eso serían los controladores. El padre una relativa, y la imagen para moverla una relativa también.

Después usar :hover y el selector ~ para seleccionar la imagen cuando se pasa por encima de uno de esos controles y la mueves donde haga falta. Después puedes usar transition para que quede más bonito.

Código CSS:
Ver original
  1. div.contenedor {
  2.   position: relative;
  3.   width: 500px;
  4.   overflow: hidden;
  5. }
  6. img {
  7.   position: relative;
  8.   left: -750px;
  9.   transition: left 1.2s ease-in-out;
  10. }
  11. span {
  12.   position: absolute;
  13.   top: 0;
  14.   right: 0;
  15.   bottom: 0;
  16.   left: 0;
  17.   z-index: 1;
  18.   display: block;
  19. }
  20. span.izq {
  21.   right: 60%;
  22. }
  23. span.der {
  24.   left: 60%;
  25. }
  26. span.izq:hover ~ img {
  27.   left: 0;
  28. }
  29. span.der:hover ~ img {
  30.   left: -1500px;
  31. }

Puse un ejemplo usando Sass: http://codepen.io/pzin/pen/xoHsn

Para que quede un poco mejor, los controladores ahí ocupan un 40% del ancho visible de la foto, así al tener el puntero sore el 20% de la mitad de la foto, se ve centrada. Si quieres que ocupen la mitad, simplemente indica 50% donde pone 60%. Pone 60% porque es la distancia de cada controlador al borde contrario.

Última edición por pzin; 17/06/2013 a las 05:56 Razón: código