Foros del Web » Creando para Internet » CSS »

Cómo puedo ajustar el alto de un div dependiendo de otro div?

Estas en el tema de Cómo puedo ajustar el alto de un div dependiendo de otro div? en el foro de CSS en Foros del Web. Necesito ayuda Estaba creando un tema para mi tumblr el cual solo consta en un código en html, css, o cualquier otro lenguaje para diseño ...
  #1 (permalink)  
Antiguo 19/05/2012, 17:09
 
Fecha de Ingreso: mayo-2012
Mensajes: 7
Antigüedad: 11 años, 11 meses
Puntos: 0
Pregunta Cómo puedo ajustar el alto de un div dependiendo de otro div?

Necesito ayuda

Estaba creando un tema para mi tumblr el cual solo consta en un código en html, css, o cualquier otro lenguaje para diseño web o programación (como javascript)
Pero solo me concentraré en el CSS

En la página diseñé cómo sería la entrada de una imagen, para previsualizarlo, usé una imagen cualquiera, y lo que diseñé consta en lo siguiente:

Cuando se pasa el cursor por sobre la imagen (hover) aparecen sobre esta, botones y textos, bajando la opacidad de esta imagen
Algo similar a este gif que hice



La imagen que se representa con el azul, cuando se le pasa el cursor encima, se muestra sobre ella un div que le puse el nombre de ''sobrefotoup'' (que se representa con el rojo), el cual le puse un ''position:absolute'' para que quede sobre la imagen, un ''overflow:hidden'' y un ''height:250px''(para que no lo oculte el overflow), como las propiedades más importantes.

Pero ahí está el problema:
Si la imagen es muy angosta, estos objetos que deberían aparecer sobre ella, se salen del margen, ya que tiene un height definido, no se ajusta en la imagen, ya probé poniendo ''height:auto'' (se borra, seguramente se define como 0) y ''height:100%'' (llega a hasta el final de la página y pasa lo mismo igual) y no resulta.
Si no me explico bien, este gif explica lo que pasa:



Lo ideal es que fuese así:



La idea es que el overflow:hidden evite que se salga de su margen, pero para eso, necesito que se ajuste el height dependiendo del alto de la imagen, seguramente necesito un Javascript, o quizás un div que haga el trabajo pero no sé cómo hacerlo
O quizás tener un div que ajuste el height para ambos dependiendo del contenido más pequeño (que debería ser la imagen)

Borrando lo que no es importante, y sacando los botones del div ''sobrefotoup'' que tampoco es importante si quiero solucionar esto y solo alargará el código, este es el código de este extracto de la página:

El CSS

Código CSS:
Ver original
  1. .entrada_foto{
  2.     margin-bottom:20px;
  3. }
  4.  
  5.     .photo{ /*el div que encierra la foto, nada importante*/
  6.         border-color:#CCC;
  7.         border-style:solid;
  8.         border-width:thin;
  9.         width:500px;
  10.     }
  11.    
  12.         .sobrefondo:hover .photo img{ /* se pasa el cursor sobre la foto y se vuelve transparente */
  13.             opacity:0.15;
  14.             transition: all 0.2s ease-out;
  15.             -webkit-transition: all 0.2s ease-out;
  16.             -moz-transition: all 0.2s ease-out;
  17.         }
  18.        
  19.         .sobrefondo .photo img{
  20.             opacity:1;
  21.             transition: all 0.3s ease-out;
  22.             -webkit-transition: all 0.3s ease-out;
  23.             -moz-transition: all 0.3s ease-out;
  24.         }
  25.        
  26.  
  27. .sobrefotoup{ /* este es el div que tanto mencioné */
  28.     position:absolute;
  29.     background-color:#6FF; /*para que puedan distinguir el espacio que ocupa este div*/
  30.     opacity:0;
  31.     width:500px;
  32.     height:150px;
  33.     overflow:hidden;
  34.     z-index:10;
  35.     transition: all 0.3s linear;
  36.     -webkit-transition: all 0.3s linear;
  37.     -moz-transition: all 0.3s linear;
  38. }
  39.     .sobrefondo:hover .sobrefotoup{
  40.         opacity:0.5;
  41.         transition: all 0.2s linear;
  42.         -webkit-transition: all 0.2s linear;
  43.         -moz-transition: all 0.2s linear;
  44.     }

Y el HTML:

Código HTML:
Ver original
  1. <div class="entrada_foto"><div class="sobrefondo">
  2. <div class="sobrefotoup">
  3. Aqui iva todo el contenido
  4. </div>
  5.  
  6. <div class="photo">
  7. <img src="http://24.media.tumblr.com/tumblr_m3te025qlh1qlv7jmo1_500.jpg"/> <!--- prueben cambiando esa imagen a una bien ancha pero también bien angosta, de esta forma se encontrarán con el problema (como mostré en el segundo gif) */ -->
  8. </div>
  9. </div></div>


Alguno que sepa cómo ayudarme con esto?

Se lo agradesco de antemano :D
  #2 (permalink)  
Antiguo 19/05/2012, 17:59
Avatar de cristian_cena
Colaborador
 
Fecha de Ingreso: junio-2009
Mensajes: 2.244
Antigüedad: 14 años, 10 meses
Puntos: 269
Respuesta: Cómo puedo ajustar el alto de un div dependiendo de otro div?

no se si te seguí por completo, proba con:
Código CSS:
Ver original
  1. .entrada_foto{
  2.     margin-bottom:20px;
  3.     position: relative; /*para contener hijos absolutos */
  4.     overflow:hidden; /* para ocultar el excedente*/
  5.     width: /* el que quieras px*/; /* si o si tenes que dar un ancho y un alto al contenedor*/
  6.     height: /*el que quieras */;    /* luego podes dar a la imagen medidas en porcentaje si hace falta*/
  7. }
  #3 (permalink)  
Antiguo 19/05/2012, 22:11
 
Fecha de Ingreso: mayo-2012
Mensajes: 7
Antigüedad: 11 años, 11 meses
Puntos: 0
De acuerdo Respuesta: Cómo puedo ajustar el alto de un div dependiendo de otro div?

Cita:
Iniciado por cristian_cena Ver Mensaje
no se si te seguí por completo, proba con:
Código CSS:
Ver original
  1. .entrada_foto{
  2.     margin-bottom:20px;
  3.     position: relative; /*para contener hijos absolutos */
  4.     overflow:hidden; /* para ocultar el excedente*/
  5.     width: /* el que quieras px*/; /* si o si tenes que dar un ancho y un alto al contenedor*/
  6.     height: /*el que quieras */;    /* luego podes dar a la imagen medidas en porcentaje si hace falta*/
  7. }
FUNCIONÓ PERFECTAMENTE
MUCHAS GRACIAS AMIGO, no tienes idea cuanto te lo agradesco :'D
  #4 (permalink)  
Antiguo 19/05/2012, 22:33
Avatar de cristian_cena
Colaborador
 
Fecha de Ingreso: junio-2009
Mensajes: 2.244
Antigüedad: 14 años, 10 meses
Puntos: 269
Respuesta: Cómo puedo ajustar el alto de un div dependiendo de otro div?

de nada. exitos. muy buena la exposición del problema!!

Etiquetas: alto, height
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 21:34.