Tema: altura 100%
Ver Mensaje Individual
  #2 (permalink)  
Antiguo 02/02/2012, 00:58
Avatar de emprear
emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 16 años, 10 meses
Puntos: 1567
Respuesta: altura 100%

Y si, es un tema viejo. Y la forma en que lo planteas merece algunas precisiones.

las columnas al 100%, pero que ademas sean auto?
supongo que lo que querés con auto es que si las columnas tiene más contenido y generan scroll en el body, se extiendan en lo alto con el mismo, eso haría que el pie (que obviamente va a estar debajo de las columnas) no apareciese al cargarse la página. Pero que sucedería si tus colunas no tiene contenido suficiente para generar scroll? lo lógico sería ques estas columnas NO tengan el 100%, sino que tengan el 100% menos el alto que tiene el pie. Con lo cual el pie estaría visible al cargar la página. Y a todo esto, tu pie, tiene un contenido fijo, o también puede variar?
Bueno, hay una solución que contempla todas esas posibilidades.

Código HTML:
Ver original
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  2. "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  3. <html xmlns="http://www.w3.org/1999/xhtml">
  4. <title>columnas de igual alto</title>
  5. <meta http-equiv="content-type" content="text/html; charset=utf-8" />
  6.  
  7. <style type="text/css">
  8. /*<![CDATA[*/
  9. html, body{
  10. height: 100%;
  11. }
  12.  
  13. body,div {
  14. margin: 0; border; none; padding: 0;
  15. }
  16.  
  17. div.tabla{
  18. display: table;
  19. height: 90%;
  20. border-collapse:collapse;
  21. margin: 0 auto;
  22. }
  23.  
  24. div.fila {
  25. display: table-row;
  26. }
  27.  
  28. div.tabla_pie {
  29. display: table;
  30. width: 100%;
  31. height: 10%;
  32. }
  33.  
  34. .colizquierda{
  35. width: 300px;
  36. height: 100%;
  37. background-color:#478B14;
  38. display: table-cell;
  39. }
  40. .colderecha{
  41. width: 300px;
  42. height: 100%;
  43. background-color:#9F009F;
  44. display: table-cell;
  45.  
  46. }
  47. .pie{
  48. width: 100%;
  49. background-color:#808040;
  50. display: table-cell;
  51. }
  52.  
  53. /*]]>*/
  54. </head>
  55. <div class="tabla">
  56. <div class="fila">
  57. <div class="colizquierda">
  58.    
  59. <p>vvv</p>
  60. <p>vvv</p> 
  61. <p>vvv</p> 
  62. <p>vvv</p> 
  63. <p>vvv</p> 
  64. <p>vvv</p> 
  65. <p>vvv</p> 
  66. <p>vvv</p> 
  67. <p>vvv</p> 
  68. <p>vvv</p> 
  69. <p>vvv</p>
  70. <p>vvv</p> 
  71. <p>vvv</p> 
  72. <p>vvv</p> 
  73. <p>vvv</p> 
  74. <p>vvv</p> 
  75. <p>vvv</p> 
  76. <p>vvv</p> 
  77. <p>vvv</p> 
  78. <p>vvv</p> 
  79. <p>vvv</p>
  80. <p>vvv</p> 
  81. <p>vvv</p> 
  82. <p>vvv</p> 
  83. <p>vvv</p> 
  84. <p>vvv</p> 
  85. <p>vvv</p> 
  86. <p>vvv</p> 
  87. <p>vvv</p> 
  88. <p>vvv</p> 
  89.  
  90. </div>
  91. <div class="colderecha">s</div>
  92.  
  93. </div>
  94. </div>
  95.  
  96.  
  97. <div class="tabla_pie">
  98.    
  99. <div class="pie">
  100. <p>pie</p>     
  101. <p>pie</p> 
  102. <p>pie</p> 
  103. <p>pie</p> 
  104. </div>
  105.    
  106. </div>
  107.  
  108. </body>
  109. </html>

la idea es usar las propiedades display: table, table-row y table-cell, y que la suma de la div que contiene las columnas y la que contiene el pie, sumen el 100%.
Primero siempre fijate que porcentaje necesita el pie (tabla.pie)para ser visible en el caso de que las columnas no tengan suficiente contenido, y el resto se lo das al div.tabla.
Después proba de quitarle o agregarle contenido a las columnas
funciona en ie8+ y en el resto, en todos
Saludos
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.