Ver Mensaje Individual
  #5 (permalink)  
Antiguo 15/11/2012, 12:25
Avatar de pzin
pzin
Moderata 😈
 
Fecha de Ingreso: julio-2002
Ubicación: Islas Canarias
Mensajes: 10.489
Antigüedad: 22 años, 4 meses
Puntos: 2114
Respuesta: ¿Como hacer con CSS Efecto cortina o persiana en las cuatro direcciones?

Para cambiarlo a la izquierda, habría que flotar .imagen_recuadro y .detalles_recuadro, para no añadir otro elemento se le da un ancho al elemento A —para lo cual hay que convertirlo en elemento de bloque— y luego el margen negativo se le da para la izquierda.
Para hacerlo hacia la derecha, el proceso es parecido pero habría que flotar un elemento a la derecha y el otro a la izquierda —y así no tocar HTML.

Código CSS:
Ver original
  1. .recuadro {
  2.   position: relative;
  3.   width: 193px;
  4.   height: 260px;
  5.   overflow: hidden;
  6.   border: 1px solid #ccc;
  7. }
  8.  
  9. .recuadro a {
  10.   text-decoration: none;
  11.   color: #000;
  12.     display: block;
  13.     width: 386px;
  14. }
  15.  
  16. .imagen_recuadro, .detalles_recuadro {
  17.   padding: 10px;
  18.   height: 240px;
  19.     width: 173px;
  20.     float: left;
  21. }
  22.  
  23. .imagen_recuadro {
  24.   margin-top: 0;
  25.   background: #000000;
  26.  
  27.   -webkit-transition-property: margin-left;
  28.   -webkit-transition-duration: .9s;
  29.  
  30.   -moz-transition-property: margin-left;
  31.   -moz-transition-duration: .9s;
  32.  
  33.   -o-transition-property: margin-left;
  34.   -o-transition-duration: .9s;
  35.  
  36.   -ms-transition-property: margin-left;
  37.   -ms-transition-duration: .9s;
  38.  
  39. }
  40.  
  41. .detalles_recuadro {
  42.   background: #EEEEEE;
  43.   color: #666666;
  44.   font-family: Arial;
  45.   font-size: 12px;
  46. }
  47.  
  48. .recuadro:hover .imagen_recuadro {
  49.     margin-left: -193px;
  50. }

Para hacer el efecto hacia abajo supongo que no habrá otra forma que dándole posición relativa a A, y luego posiciones absolutas a la imagen y al texto de tal forma que intercambiaran sus posiciones respecto a cómo están en el HTML.