Foros del Web » Creando para Internet » CSS »

Imagen con overlay rollover

Estas en el tema de Imagen con overlay rollover en el foro de CSS en Foros del Web. Como puedo hacer solo con CSS que cuando uno se posa con el mouse sobre una imagen, se cree sobre ella un capa de color ...
  #1 (permalink)  
Antiguo 30/04/2012, 16:27
Avatar de demoche  
Fecha de Ingreso: junio-2006
Mensajes: 124
Antigüedad: 18 años, 4 meses
Puntos: 0
Imagen con overlay rollover

Como puedo hacer solo con CSS que cuando uno se posa con el mouse sobre una imagen, se cree sobre ella un capa de color transparente como overlay, al estilo de los overlay caption?
Hasta ahora probe con esto pero no logro ponerle color a la transparencia:(

Código CSS:
Ver original
  1. <style>
  2. div.holder {
  3. position:relative;
  4. width:100px; height:100px;
  5. }
  6.  
  7. div.holder a:hover {
  8.     filter: alpha(opacity=60);
  9.     -moz-opacity: 0.6;
  10.     KhtmlOpacity: .6;
  11.     opacity: .6;
  12.     position:absolute;
  13.     top:0; left:0;
  14.     width:75px; height:75px;
  15.     z-index:110;
  16. }
  17. </style>

Gracias

Última edición por demoche; 30/04/2012 a las 16:43
  #2 (permalink)  
Antiguo 30/04/2012, 21:27
Avatar de chwc  
Fecha de Ingreso: julio-2008
Ubicación: Buenos Aires ! :D
Mensajes: 814
Antigüedad: 16 años, 2 meses
Puntos: 103
Respuesta: Imagen con overlay rollover

no querras hacer esto ?
Código CSS:
Ver original
  1. div.holder {
  2. position:relative;
  3. width:100px; height:100px;
  4. }
  5. *
  6. div.holder a{
  7.    background:#000000;
  8. }
  9. div.holder a img.hover{width:75px; height:75px;
  10. * * filter: alpha(opacity=60);
  11. * * -moz-opacity: 0.6;
  12. * * KhtmlOpacity: .6;
  13. * * opacity: .6;
  14. -webkit-transition:1s linear all;
  15. }
saludos
  #3 (permalink)  
Antiguo 30/04/2012, 23:50
Avatar de demoche  
Fecha de Ingreso: junio-2006
Mensajes: 124
Antigüedad: 18 años, 4 meses
Puntos: 0
Respuesta: Imagen con overlay rollover

Hasta ahora investigando pude hacer algo parecido como esto, que esta el overlay transparente en naranja (en este caso) y cuando hago hover se ve la imagen, pero me gustaria saber como hacerlo al reves.
Gracias por todas las ayudas.


Código HTML:
Ver original
  1. <!DOCTYPE html>
  2. <meta charset=utf-8 />
  3. <title>CSS Image Tint</title>
  4. <!--[if IE]>
  5.  <script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
  6. <![endif]-->
  7.  
  8.   .tint {
  9.     position: relative;
  10.     float: left;
  11.     width:75px;
  12.     height:75px;
  13.     margin-right: 20px;
  14.     margin-bottom: 20px;
  15.     cursor: pointer;
  16.     -webkit-box-shadow: rgba(0,0,0,.2) 3px 5px 5px;
  17.     -moz-box-shadow: rgba(0,0,0,.2) 3px 5px 5px;
  18.     box-shadow: rgba(0,0,0,.2) 3px 5px 5px;
  19.   }
  20.  
  21.   .tint:before {
  22.     content: "";
  23.     display: block;
  24.     position: absolute;
  25.     top: 0;
  26.     bottom: 0;
  27.     left: 0;
  28.     right: 0;
  29.     background: rgba(236, 126, 40, 0.6);
  30.     -moz-transition: all .3s linear;
  31.     -webkit-transition: all .3s linear;
  32.     -ms-transition: all .3s linear;
  33.     -o-transition: all .3s linear;
  34.     transition: all .3s linear;
  35.   }
  36.  
  37.   .tint:hover:before {
  38.     content: "";
  39.     background: none;
  40.   }
  41.  
  42.  
  43. </head>
  44.    
  45.  
  46.  
  47.   <div class="tint">
  48.       <img src="imagen.jpg" width="75" height="75" />
  49.   </div>
  50.  
  51.  
  52. </body>
  53. </html>
  #4 (permalink)  
Antiguo 01/05/2012, 00:59
 
Fecha de Ingreso: febrero-2012
Ubicación: Barcelona
Mensajes: 50
Antigüedad: 12 años, 8 meses
Puntos: 2
Respuesta: Imagen con overlay rollover

Prueba la siguiente:

Creas un
Código:
div class="contenedor"
y dentro pones la imagen y un
Código:
div class="caption"
con el caption.

Y en los estilos para que al hacer rollover sobre el contenedor te aparezca el caption haces esto:

Código:
div.contenedor div.caption {
opacity:0;
}

div.contenedor:hover div.caption{
opacity:1;
}
Eso hará que la hacer rollover sobre el div con clase contenedor su div hijo con clase caption cambie su opacidad a 1.

Luego ya con css3 le puedes hacer que haga una animación para que no sea tan brusco el cambio de opacidad.
Y acuerdate que en IE la opacidad la gestiona de otra manera, deberás añadir su hack ;)

Un saludo
  #5 (permalink)  
Antiguo 01/05/2012, 01:58
Avatar de demoche  
Fecha de Ingreso: junio-2006
Mensajes: 124
Antigüedad: 18 años, 4 meses
Puntos: 0
Respuesta: Imagen con overlay rollover

Gracias Sergio, estuve probando tu consejo y hay algo que hago mal porque no logro que funcione, esto es lo que hice acorde a tu consejo:

Código CSS:
Ver original
  1. <style>
  2. .contenedor{
  3.     width:400px;
  4.     height:351px;
  5. }
  6. .caption{
  7.     background: rgba(236, 126, 40, 0.6);
  8.     top:0;
  9.     left:0;
  10.     width:400px;
  11.     height:351px;
  12. }
  13. div.contenedor div.caption {
  14. opacity:0;
  15. filter: alpha(opacity=0); /* IE */
  16. }
  17.  
  18. div.contenedor:hover div.caption{
  19. opacity:1;
  20. filter: alpha(opacity=50); /* IE */
  21. }
  22.  
  23. </style>

Código HTML:
Ver original
  1. <div class="contenedor"><a href="#"><img src="http://laserhairtherapywestpalmbeach.com/wp-content/uploads/2011/08/Drew-barrymore-covergirl-Copy.jpg" width="400px" height="351px" /></a>
  2. <div class="caption"></div>
  3. </div>

Así cuando me poso sobre la imagen el overlay me aparece debajo de la imagen y no encima, que hago mal?
Gracias
  #6 (permalink)  
Antiguo 01/05/2012, 02:35
 
Fecha de Ingreso: febrero-2012
Ubicación: Barcelona
Mensajes: 50
Antigüedad: 12 años, 8 meses
Puntos: 2
Respuesta: Imagen con overlay rollover

No haces nada mal, te aparece debajo por que el orden en el html es ese, primero la imagen y después el div del caption, si pones el div encima de la imagen pues te aparecerá antes, si quieres más como por ejemplo que el caption quede superpuesto a la imagen solo te falta por estilos posicionar donde quieres que aparezca exactamente el caption.

Para posicionar el caption yo lo haría con posiciones absolutas relativas a su padre o sea el contenedor.

Deberías añadir esto al .contenedor:

Código:
position:relative;
y esto al .caption

Código:
position:absolute;
Y entonces te funcionara el top y el left que ya le pusiste, ahora juega con esos dos valores de top y left hasta dejar el caption en el lugar que quieras ;)

Un saludo
  #7 (permalink)  
Antiguo 01/05/2012, 02:37
 
Fecha de Ingreso: febrero-2012
Ubicación: Barcelona
Mensajes: 50
Antigüedad: 12 años, 8 meses
Puntos: 2
Respuesta: Imagen con overlay rollover

Por cierto si quieres que quede superpuesto y transparente deberás ponerle la opacidad a menos de 1 (0.8 o 0.7 por ejemplo) y en el hack de IE 80 o 90 ;)
  #8 (permalink)  
Antiguo 01/05/2012, 02:39
Avatar de demoche  
Fecha de Ingreso: junio-2006
Mensajes: 124
Antigüedad: 18 años, 4 meses
Puntos: 0
Respuesta: Imagen con overlay rollover

Muchas Gracias Sergio ahora funciona PERFECTO!

Le agrege efecto de transición también.

Código CSS:
Ver original
  1. .caption{
  2.     position:absolute;
  3.     top:0;
  4.     left:0;
  5.     width:400px;
  6.     height:351px;
  7.     cursor: pointer;
  8.     background: rgba(236, 126, 40, 0.6);
  9.     -moz-transition: all .3s linear;
  10.     -webkit-transition: all .3s linear;
  11.     -ms-transition: all .3s linear;
  12.     -o-transition: all .3s linear;
  13.     transition: all .3s linear;
  14.  
  15. }

Abrazos
  #9 (permalink)  
Antiguo 01/05/2012, 03:04
 
Fecha de Ingreso: febrero-2012
Ubicación: Barcelona
Mensajes: 50
Antigüedad: 12 años, 8 meses
Puntos: 2
Respuesta: Imagen con overlay rollover

De nada ;)

¿Te funciona la transición?

Yo la hubiera puesto en el div primero o el que esta en su estado inicial, este:

Código:
div.contenedor div.caption {
opacity:0;
filter: alpha(opacity=0); /* IE */
    -moz-transition: all .3s linear;
    -webkit-transition: all .3s linear;
    -ms-transition: all .3s linear;
    -o-transition: all .3s linear;
    transition: all .3s linear;
}
  #10 (permalink)  
Antiguo 01/05/2012, 03:07
Avatar de demoche  
Fecha de Ingreso: junio-2006
Mensajes: 124
Antigüedad: 18 años, 4 meses
Puntos: 0
Respuesta: Imagen con overlay rollover

Si me funciona bien :)
  #11 (permalink)  
Antiguo 01/05/2012, 03:12
 
Fecha de Ingreso: febrero-2012
Ubicación: Barcelona
Mensajes: 50
Antigüedad: 12 años, 8 meses
Puntos: 2
Respuesta: Imagen con overlay rollover

Claro, es que ahora que me fijo es lo mismo!! :D

Tienes un poco de desorden en el código, lo que yo te puse como
Código:
div.contenedor div.caption
es lo mismo que tu pusiste como
Código:
 .caption
o sea que todo lo que hay dentro de los dos lo puedes juntar en uno y sera lo mismo y tendrás el código mas limpio y ordenado ;)

Un saludo!
  #12 (permalink)  
Antiguo 01/05/2012, 03:15
Avatar de demoche  
Fecha de Ingreso: junio-2006
Mensajes: 124
Antigüedad: 18 años, 4 meses
Puntos: 0
Respuesta: Imagen con overlay rollover

Uff Gracias por la observación lo voy a correguir!
Abrazos

Etiquetas: overlay, rollover
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 00:57.