Ver Mensaje Individual
  #9 (permalink)  
Antiguo 14/12/2012, 20:34
Avatar de emprear
emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 17 años, 5 meses
Puntos: 1567
Respuesta: Problema con altura (height)

Repuesto de la sorpresa del forzoso retiro de @furoya, quiero dejar aqui, para cerrar este capítulo, un último código de su autoría que me pasó oportunamente con el objeto que que lo testease en las diferentes versiones de IE, ya que el no disponía de como hacer dichas pruebas, dejo el código "as is" por si alguien quiere experimentar con el

html
Código HTML:
Ver original
  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
  2. "http://www.w3c.org/TR/1999/REC-html401-19991224/loose.dtd">
  3. <meta http-equiv=Content-Type content="text/html; charset=utf-8">
  4. <title>BOTONERAS CON IGUAL ALTURA DE BOTONES.</title>
  5. <style type="text/css">
  6. .contenedor0 {background-color: blue; padding: 10px; text-align: right;
  7. font: bold 16px/120% sans-serif; white-space: nowrap; }
  8.  
  9. .columna0 {display: inline-block; background-color: fuchsia; border: 10px outset lime;
  10. vertical-align: top; text-align: left; }
  11.  
  12. .contenedor1 {background: orange; font: bold 18px/120% monospace; text-align: center;
  13. white-space: nowrap; }
  14.  
  15. .columna1 {display: inline-block; background-color: silver; border: 5px solid maroon;
  16. vertical-align: top; padding: 5px; }
  17.  
  18. .contenedor2 {background-color: teal; display: block; width: 50%; min-width: 7em;
  19. overflow: auto; }
  20.  
  21. .contenedor2 li {font: bold 20px/120% serif; width: 1em; word-wrap: break-word;
  22. text-align: center; background-color: white; list-style-type: none; float: left;
  23. display: block; margin: 0 2px; height: auto; }
  24.  
  25. .contenedor3 {background-color: red; overflow: auto; white-space: nowrap; padding: 10px; }
  26.  
  27. .contenedor3 a {font: bold 18px/120% serif; color: white; text-decoration: none;
  28. background-color: maroon; margin: 0 0 0 5px;}
  29.  
  30. .contenedor3 img {vertical-align: middle; }
  31.  
  32. .contenedor3 a:hover {color: maroon; background-color: white; }
  33.  
  34. p {font: bold 18px/1.2 cursive; margin-top: 32px; }
  35. p span {font: normal 18px/1.2 sans-serif; }
  36.  
  37. <script defer type="text/javascript" src="fquery_colEqCompat0_2.js"></script>
  38. </head>
  39.  
  40. <h2>Un menú. (<code>inline-block</code> y <code>padding</code>)</h2>
  41. <div class="contenedor0 $eq">
  42. <div class="columna0">Alfa </div>
  43. <div class="columna0">Bravo <br>Charly </div>
  44. <div class="columna0">Delta <br>Eco <br>Foxtrot </div>
  45. <div class="columna0">Golf <br>Hotel <br>Indio <br>Julieta </div>
  46. </div>
  47.  
  48.  
  49. <h2>Otro menú. (<code>inline-block</code>)</h2>
  50. <div class="contenedor1 $eq">
  51. <div class="columna1"> <a href= "about:blank">Kilo</a></div>
  52. <div class="columna1"> Lima<br> Mike<br> Noviembre<br> Oscar</div>
  53. <div class="columna1"> Papa<br> Quebec<br> Romeo</div>
  54. <div class="columna1"> Sierra<br> Tango</div>
  55. <div class="columna1"> Uniforme<br> Victor<br> Wisky<br> Xrayo</div>
  56. <div class="columna1"> Yankee<br> Zulu</div>
  57. </div>
  58.  
  59.  
  60. <h2>Uno más. (<code>float</code>)</h2>
  61. <ul class="$eq contenedor2">
  62. <li>UNO</li> <li>DOS</li> <li>TRES</li> <li>CUATRO</li>
  63. </ul>
  64.  
  65.  
  66. <h2>Y el último. (fluido)</h2>
  67. <div class="$eq contenedor3">
  68. <a href="http://imageshack.us/photo/my-images/715/grafiti04.jpg/"
  69. target="blank">Grafiti. &raquo; </a>
  70. <img src="http://img715.imageshack.us/img715/9418/grafiti04.th.jpg" alt="Grafiti.">
  71. <a href="http://imageshack.us/photo/my-images/824/franciscotruffo.jpg/"
  72. target="blank">Francisco Truffo. &raquo; </a>
  73. <img src="http://img824.imageshack.us/img824/2043/franciscotruffo.th.jpg" alt="Francisco Truffo.">
  74. <a href="http://imageshack.us/photo/my-images/38/grafiti05.jpg/"
  75. target="blank">Grafiti. &raquo; </a>
  76. <img src="http://img38.imageshack.us/img38/9316/grafiti05.th.jpg" alt="Grafiti.">
  77. <a href="http://imageshack.us/photo/my-images/13/inesarostegui.jpg/"
  78. target="blank">Inés Aróstegui. &raquo; </a>
  79. <img src="http://img13.imageshack.us/img13/4983/inesarostegui.th.jpg" alt="Inés Aróstegui.">
  80. </div>
  81.  
  82.  
  83. <hr>
  84. <p>El script "<span>fquery_colEqCompat0_2.js</span>" iguala las alturas de las
  85. <em>'columnas'</em> dentro de un bloque contenedor con clase "<code>$eq</code>".<br>
  86. Los dos primeros ejemplos están maquetados con CSS <code>display:inline-block</code>,
  87. que no es soportado por versiones anteriores a <span>Internet Explorer 8</span>, por lo
  88. que para esos navegadores solamente valen los ejemplos con <code>float:left</code> y
  89. con diseño fluido (en este último iguala la altura de las imágenes).<br>
  90. </p>
  91.  
  92. </body>
  93. </html>

fquery_colEqCompat0_2.js

Código Javascript:
Ver original
  1. /* COMPATIBLE IE6+, CHROME, FIREFOX, OPERA. */
  2.  
  3.  
  4.  var p4d70p, p4dB0770m, a17ur45, a17ur4M4x;
  5.  
  6.  function p4ddin6L(PC){
  7.   p4d70p = (PC.currentStyle)? parseInt(PC.currentStyle["paddingTop"])
  8.   : parseInt(document.defaultView.getComputedStyle(PC, null).getPropertyValue("padding-top"));
  9.   p4dB0770m = (PC.currentStyle)? parseInt(PC.currentStyle["paddingBottom"])
  10.   : parseInt(document.defaultView.getComputedStyle(PC, null).getPropertyValue("padding-bottom"));
  11.  }
  12.  
  13.  function p4ddin6L3(PC){
  14.   PC.style.paddingTop = p4d70p;
  15.   PC.style.paddingBottom = p4dB0770m;
  16.  }
  17.  
  18.  function aju5t4(){
  19.  var t0d05 = document.getElementsByTagName("*");
  20.   for(c=0; c<t0d05.length; c++){
  21.    if(t0d05[c].className.indexOf("$eq") != -1){
  22.     a17ur4M4x = 0;
  23.     var c01umn4 = t0d05[c];
  24.     var c01umn45 = c01umn4.childNodes;
  25.  
  26.     for(d=0; d<c01umn45.length; d++){
  27.      if(c01umn45[d].nodeType == 1){
  28.       a17ur45 = c01umn45[d].clientHeight;
  29.       p4ddin6L(c01umn45[d]);
  30.       a17ur4M4x = (a17ur45 - (p4d70p + p4dB0770m)) > a17ur4M4x ?
  31.       (a17ur45 - (p4d70p + p4dB0770m)) : a17ur4M4x;
  32.      }
  33.     }
  34.  
  35.     for(d=0; d<c01umn45.length; d++){
  36.      if(c01umn45[d].nodeType == 1){
  37.      c01umn45[d].style.height = a17ur4M4x+"px";
  38.      }
  39.     }
  40.    }
  41.   }
  42.  }
  43.  
  44.  if (document.addEventListener){
  45.   document.addEventListener("readystatechange", function(){aju5t4()}, false);
  46.  }
  47.  else if (document.attachEvent){
  48.   document.attachEvent("onreadystatechange", function(){aju5t4()});
  49.  }

Demo:

http://foros.emprear.com/javascript/...-equilibradas/

Salu2
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.