Foros del Web » Creando para Internet » CSS »

Problema con la position absolute dentro de una lista

Estas en el tema de Problema con la position absolute dentro de una lista en el foro de CSS en Foros del Web. Hola Tengo el suguiente Problema con la position absolute dentro de una lista: El estilo solo lo toma para los div de la primera fila: ...
  #1 (permalink)  
Antiguo 13/11/2012, 21:02
 
Fecha de Ingreso: septiembre-2012
Mensajes: 12
Antigüedad: 11 años, 7 meses
Puntos: 0
Problema con la position absolute dentro de una lista

Hola Tengo el suguiente Problema con la position absolute dentro de una lista:

El estilo solo lo toma para los div de la primera fila:

http://dozen.cl/dozen/clases.php

/***********Css************/
.ContClases{
float: left;
overflow: auto;
width: 100%;
height: auto;
background: red;
padding-bottom: 15px;
}

.ContClases ul{
background-color: #181818;
float: left;
width: auto;
height: auto;
padding-left: 18px;
padding-bottom: 18px;
}
.ContClases ul li{
float: left;
width: 304px;
height: 196px;
margin-right: 16px;
margin-top: 17px;
background:white;
}
.ContImgClase{
float: left;
width: 304px;
height: 196px;
}
.TxtImgClase{
background: rgba(43, 40, 40, 0.29);
position: absolute;
width: 304px;
height: 88px;
top: 720px;
}
.TxtImgClase p{
text-align: center;
color: #0A8F9B;
font-size: 24px;
width: auto;
margin-top: 15px;
margin-bottom: 10px;
height: auto;
}
/************Gracias******************/
  #2 (permalink)  
Antiguo 14/11/2012, 00:30
Avatar de C2am  
Fecha de Ingreso: enero-2009
Ubicación: Rosario, Argentina
Mensajes: 2.005
Antigüedad: 15 años, 3 meses
Puntos: 306
Respuesta: Problema con la position absolute dentro de una lista

El problema es el maquetado que le haces.
Prueba cambiando esto:

Código HTML:
Ver original
  1. <li><div class="ContImgClase"><img src="images/Noticias/noticia2.jpg"><div class="TxtImgClase"><p>aerobox</p></div></div></li>

Por esto:

Código HTML:
Ver original
  1. <li><div class="ContImgClase"><img src="images/Noticias/noticia2.jpg"><p class="TxtImgClase">aerobox</p></div></li>

Luego:
Código CSS:
Ver original
  1. .ContImgClase{
  2. position:relative
  3. width: 304px;
  4. height: 196px;
  5. }
  6. .TxtImgClase{
  7. background: rgba(43, 40, 40, 0.29);
  8. position: absolute;
  9. width: 304px;
  10. height: 88px;
  11. top: 720px; /*aquí cambias el valor o mejor cambias a Bottom: 10px, para posicionarlo respecto a la base de la caja que contiene la imagen */
  12. }


Puede que exista algún error, ya que no he probado el código, pero esa es la idea.

La teoría dice que para posicionar un elemento en forma absoluta con respecto a su contenedor (y no a la pantalla), es necesario declarar al elemento padre la position: relative, o absolute o fixed. Si el padre o contenedor no lo tiene definido, busca al ancestro, es decir al contenedor del contenedor y así sucesivamente hasta llegar al body.

http://www.librosweb.es/css/capitulo..._absoluto.html

Saludos
__________________
El mundo nada puede contra un hombre que canta en la miseria.
-- Ernesto Sábato--
  #3 (permalink)  
Antiguo 14/11/2012, 00:50
Avatar de Sasjuarez  
Fecha de Ingreso: abril-2008
Ubicación: Guatemala
Mensajes: 14
Antigüedad: 16 años
Puntos: 0
Respuesta: Problema con la position absolute dentro de una lista

Que tal asalto_27

lo que tenes que hacer es simplemente agregar a todos los elementos de la lista una posicion relativa como dice C2am y bajarle un poco a top de TxtImgClase. Proba y nos contas

Código CSS:
Ver original
  1. .ContClases{
  2. float: left;
  3. overflow: auto;
  4. width: 100%;
  5. height: auto;
  6. background: red;
  7. padding-bottom: 15px;
  8. }
  9.  
  10. .ContClases ul{
  11. background-color: #181818;
  12. float: left;
  13. width: auto;
  14. height: auto;
  15. padding-left: 18px;
  16. padding-bottom: 18px;
  17. }
  18. .ContClases ul li{
  19. float: left;
  20. width: 304px;
  21. height: 196px;
  22. margin-right: 16px;
  23. margin-top: 17px;
  24. background:white;
  25. position:relative; /** Posicion relativa **/
  26. }
  27. .ContImgClase{
  28. float: left;
  29. width: 304px;
  30. height: 196px;
  31. }
  32. .TxtImgClase{
  33. background: rgba(43, 40, 40, 0.29);
  34. position: absolute;
  35. width: 304px;
  36. height: 88px;
  37. top: 120px; /** Y le bajamos un poco a top **/
  38. }
  39. .TxtImgClase p{
  40. text-align: center;
  41. color: #0A8F9B;
  42. font-size: 24px;
  43. width: auto;
  44. margin-top: 15px;
  45. margin-bottom: 10px;
  46. height: auto;
  47. }

Te dejo una imagen de como quedo!

Última edición por Sasjuarez; 14/11/2012 a las 00:51 Razón: Agregue una imagen

Etiquetas: lista, position, fondo
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 05:03.