Foros del Web » Creando para Internet » CSS »

un div encima de otro

Estas en el tema de un div encima de otro en el foro de CSS en Foros del Web. Hola a todos quiero hacer una galeria done al pasar el maus sobre la foto me aparezca un div con un texto, cuando empese , ...
  #1 (permalink)  
Antiguo 06/09/2014, 13:57
Avatar de fedefrankk  
Fecha de Ingreso: agosto-2007
Mensajes: 871
Antigüedad: 16 años, 8 meses
Puntos: 7
Pregunta un div encima de otro

Hola a todos quiero hacer una galeria done al pasar el maus sobre la foto me aparezca un div con un texto, cuando empese , me pasa lo siguiente:



el div que dice este, me baja todo y no esta encima de la foto..
el codigo es el siguiente:

HTML

Código HTML:
Ver original
  1. <div  class="galeria" id="txtHint">
  2. <div class="contenedor_c">
  3. <div class="transpa">este </div>
  4. <form action="#" method="POST">
  5. <div class="imagen_c" id="capa1">
  6. <input type="image" src="usuarios/U/VZVRRhW5eZDO.jpeg" width="350" height="300" />
  7. </div><!--imagen_c-->
  8. <div class="pts_c"><?php echo "<font color='#008000' </font> "."<b>+</b>". $reg['usu];?></div><!--pts_c-->
  9. <div class="des_c">ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssweeeeeeeeeeeeeeeeeeeeessssssss</div>
  10.  
  11.  
  12. </div> <!--contenedor_c-->
  13. </div>
  14. </form>


y el CSS:


Código CSS:
Ver original
  1. .galeria{float:left; width:1124px;  background:#FFF:Transparent;border:1px solid #1EB6DF;
  2. margin-top:1px }
  3.  
  4.  
  5.  
  6. .contenedor_c{ position:relative; display:inline-block; z-index:1;
  7. margin:10px; margin-top:3px;
  8. background-image:url(../_img/quo267x270_vacia_.png); /* ACA FOTO DETRAS PUBLICIDAD */
  9. background-repeat:no-repeat;
  10. width:350px; height:400px;
  11. border:solid; border-width:1px; border-color:#666
  12. }
  13.  
  14.  
  15. .transpa{ position:relative; width:350px; height:60px;;border:2px solid #F00; z-index:5; clear:both}
  16. .imagen_c{ position:relative; z-index:2; border:solid; border-width:2px; border-color:#FFF;
  17. width:352px; height:256px; margin-left:4px;}
  18. .pts_c{float:left; font-family:Tahoma; font-size:12px;
  19.  
  20.   text-align:left;
  21.   margin-top:85px;
  22.   margin-left:270px;
  23.  
  24.   }
  25.   .des_c{float:left;font-family:Tahoma; font-size:12px; color:#FFF; border: 1px solid #CCC;
  26.     margin-left:4px;
  27.      margin-top:-95px;
  28.    
  29.     word-wrap: break-word;
  30.     text-align:justify;
  31.     color:#000;
  32.      width:340px;
  33.      height:65px;
  34.  
  35.    
  36.    
  37.   }




Gracias de antemano, saludos a todos y se agradece cualquier ayuda..

saludos
fede
  #2 (permalink)  
Antiguo 06/09/2014, 18:50
 
Fecha de Ingreso: abril-2014
Ubicación: 3 metros sobre la casa de abajo
Mensajes: 40
Antigüedad: 10 años
Puntos: 6
Respuesta: un div encima de otro

Si lo que quieres es que al pasar el mouse sobre la imagen y esta muestre un texto sobre la propia imagen, entonces necesitas hacer hover sobre el contenedor. Yo lo haría de la siguiente manera. Ejemplo:

Código HTML:
Ver original
  1. <div id="contenedor">
  2.   <div id="imagen>
  3.     <div id="texto"></div>
  4.   </div>
  5. </div>

Código CSS:
Ver original
  1. #contenedor {
  2. width: 100px;
  3. height: 100px;
  4. }
  5.  
  6. #imagen {
  7.   /*Formato para la imagen y su contenedor...*/
  8. }
  9.  
  10. #texto {
  11.   /* Formato para el texto y su contenedor */
  12.   visibility: hidden;
  13. }

Ahora, luego de darle formato a los divs deberás hacer hover sobre el contenedor principal para que al pasar el puntero por cualquier lugar de este, muestre el texto sobre la imagen:

Código CSS:
Ver original
  1. #contenedor : hover > #texto {
  2.   visibility: visible;
  3. }

¿Que hice?

Crear un div que sirva de contenedor general (#contenedor), dentro de este colocas un div que contenga la imagen (#imagen) y dentro del div de la imagen creas otro que contenga el div con el texto que quieres mostrar (#texto).

Le das formato con CSS a todos los divs y procedes a pasar el :hover sobre los contenedores, quedando lo siguiente:

Código CSS:
Ver original
  1. #contenedor : hover > #texto

Esto quiere decir que el div #contenedor hace :hover en el div #texto. Dando como resultado que al pasar el mouse sobre el contenedor general (#contenedor) este haga el efecto de mostrar el texto sobre la imagen.

Ahora...

Es importante que notes y agregues la propiedad visibility, que permite ocultar o mostrar el contenido del contenedor al cual le agregaste esa propiedad.

En nuestro div #texto agregamos la propiedad visibility: hidden; para ocultar el texto del contenedor, y en #contenedor : hover > #texto agregamos la propiedad visibility: visible; para mostrar o hacer visible el contenido del div.

Espero haberte ayudado con tu duda, y por si no te queda del todo claro, te recomiendo que investigues un poco sobre la propiedad CSS :hover y visibility, ya que con ellas harás maravillas, y lo mejor de todo... son fáciles de usar.

P.D: También recuerda usar z-index para colocar capas sobre capas ([inline]div sobre [inline]div), tomando en cuenta que #contenedor irá al fondo, sobre este irá #imagen y sobre imagen irá #texto. Aunque creo que no es del todo necesario usar el z-index .
__________________
Vivir y aprender... ojalá pudiera resistir por lo menos 150 años.

Última edición por pzin; 07/09/2014 a las 07:33 Razón: Formato código y errores
  #3 (permalink)  
Antiguo 07/09/2014, 18:25
Avatar de fedefrankk  
Fecha de Ingreso: agosto-2007
Mensajes: 871
Antigüedad: 16 años, 8 meses
Puntos: 7
Respuesta: un div encima de otro

Hola espectacular tu explicacion, se agradece el tiempo que te has tomado, muchas gracias, ahora me sale.!!!

Enserio muchas gracias .!!!!!

Etiquetas: background, color, encima, html, width
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 12:28.