2010-05-01 30 views
23

Esto es probablemente muy fácil para la mayoría de ustedes. Pero necesito un pequeño fragmento que busque la altura actual de un div (el div tiene una altura dinámica basada en el contenido que contiene) y luego establezca ese valor en el valor de min-height de la clase css.jQuery - Establecer min-altura de div

Básicamente lo que esto significa es que quiero que este contenedor tenga su altura mínima para tener exactamente el mismo valor que su altura actual. Esta es probablemente una rápida :)

Respuesta

6

sólo una prueba de concepto!

 // attend for dom ready 
    $(function() { 
     // hide .foo before we get it's height 
     $('.foo').hide(); 
     // get the height, also the one mentioned below is a good one! 
     var foo_height = $('.foo').height(); 
     // see if the actual height respect our needs! esample 180px 
     if (foo_height > 180) { 
      // set the height and show it! 
      //$('.foo').css('height', foo_height + 'px').show(); OR try 
      $('.foo').height(foo_height).show(); 
     } else { 
      //do something else here 
      } 
}); 

esto debería funcionar como se esperaba!

69

Si he entendido bien, se puede hacer lo siguiente:

$(".foo").css("min-height", function(){ 
    return $(this).height(); 
}); 
+0

Sí esto está funcionando :) La razón por la que pido es porque tengo un div sin altura especificada se vacía antes de que sea poblada por otros contenidos. Haciendo que todo el contenedor tenga un tamaño dinámico basado en lo que contiene. En este pequeño espacio entre el contenido y el contenido, el div se reduce a su altura mínima antes de crecer a su tamaño necesario. La desventaja aquí es que el div no baja de tamaño de forma dinámica, solo hacia arriba. ¿Conoces una buena forma de sortear esto? –

1
var elt = document.getElementById("<%= this.your_element_id.ClientID %>"); 
elt.style.minHeight = elt.clientHeight + 'px';