Ver Mensaje Individual
  #3 (permalink)  
Antiguo 05/08/2013, 05:56
Avatar de Tecna
Tecna
 
Fecha de Ingreso: enero-2010
Mensajes: 291
Antigüedad: 15 años
Puntos: 45
Respuesta: ¿Cómo saber la altura de un div con min-height y max-height?

Buenas,

claro que se puede, pero hay que preguntar por el estilo calculado que es el que realmente se aplica después de analizar todas las reglas que afecten a cada propiedad de cada elemento. Si el estilo no se ha declarado en línea no se puede obtener su valor con la propiedad style. Y si se ha cambiado después de analizar los estilos, el valor calculado no es el correcto, es decir no se actualiza. Así que todo depende de como se estén tratando los estilos y de lo que se quiera conseguir.

Código HTML:
Ver original
  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
  2. <html lang="es">
  3. <meta http-equiv="content-type" content="text/html; charset=UTF-8">
  4. <meta name="Language" content="Spanish">
  5.  
  6. <script type="text/javascript" src="scripts/estilos_computados.js"></script>
  7.  
  8. <title>estilos computados</title>
  9.     body, html {height: 100%;}
  10.     #padre {height: 100%; background: #ff0;}
  11.     #padre p { height: 40%; max-height: 400px; background: #f00;}
  12.  
  13. </head>
  14. <div id="padre">
  15.     <p>prueba estilos computados</p>
  16. </div>
  17. </body>
  18. </html>

Código Javascript:
Ver original
  1. function init()
  2. {
  3.     var papi = document.getElementById('padre');
  4.     alert('valor propiedad height aplicada con etiqueta style: ' + papi.style.height);     //vacio
  5.     var estilo = window.getComputedStyle(papi, null).height;
  6.     alert('valor calculado de la propiedad height: ' + estilo); // aqui si que muestra el valor
  7.     papi.style.height = '385px';
  8.     papi.style.height = '50%';  // de igual que se usen medidas absolutas o relativas
  9.     alert('valor de la propiedad height despues de cambiarla en linea: '+ papi.style.height);
  10.     alert('valor calculado de la propiedad height: ' + estilo); //sigue siendo el mismo
  11. }
  12.  
  13. window.onload = init;
__________________
tecnawebs.es Diseño web y programación - Modelado 3D.

google plus