Foros del Web » Creando para Internet » CSS »

[SOLUCIONADO] Bootstrap: ajustar el height al height de la columna más alta

Estas en el tema de Bootstrap: ajustar el height al height de la columna más alta en el foro de CSS en Foros del Web. Buenos días: Estoy intentando hacer mediante CSS de Bootstrap que el tamaño del height de todas las columnas sea siempre el mismo, aunque algunas de ...
  #1 (permalink)  
Antiguo 25/07/2014, 05:30
 
Fecha de Ingreso: junio-2007
Mensajes: 298
Antigüedad: 17 años, 5 meses
Puntos: 5
Bootstrap: ajustar el height al height de la columna más alta

Buenos días:

Estoy intentando hacer mediante CSS de Bootstrap que el tamaño del height de todas las columnas sea siempre el mismo, aunque algunas de ellas tenga mucho menos contenido q otras.

Mi código es el siguiente:

Código HTML:
Ver original
  1.  .rojo { background-color:#FF0000; height:200px; }
  2.  .azul { background-color:#2C2961; }
  3.  .verde { background-color:#036C19; }
  4.  </style>
  5.  
  6. <div class="row">
  7.     <div class="col-md-4 rojo">
  8.         En un lugar de la mancha<br>
  9.     </div>
  10.     <div class="col-md-4 azul">
  11.         En un lugar de la mancha<br>
  12.         En un lugar de la mancha<br>
  13.         En un lugar de la mancha<br>
  14.         En un lugar de la mancha<br>
  15.         En un lugar de la mancha<br>
  16.     </div>
  17.     <div class="col-md-4 verde">
  18.         En un lugar de la mancha<br>
  19.         En un lugar de la mancha<br>
  20.         En un lugar de la mancha<br>
  21.         En un lugar de la mancha<br>
  22.         En un lugar de la mancha<br>
  23.         En un lugar de la mancha<br>
  24.         En un lugar de la mancha<br>
  25.         En un lugar de la mancha<br>
  26.         En un lugar de la mancha<br>
  27.         En un lugar de la mancha<br>
  28.     </div>
  29. </div>

He probado mediante CSS ajustar el height de diferentes maneras pero nada. Cada columna muestra el height que tiene, ¿cómo puedo hacer que el height de todas las columnas sea el mismo y que éste sea el de la columna con height más alto?

Muchas gracias

Última edición por pzin; 25/07/2014 a las 05:36 Razón: Formato código
  #2 (permalink)  
Antiguo 25/07/2014, 05:39
Avatar de pzin
Moderata 😈
 
Fecha de Ingreso: julio-2002
Ubicación: Islas Canarias
Mensajes: 10.489
Antigüedad: 22 años, 3 meses
Puntos: 2114
Respuesta: Bootstrap: ajustar el height al height de la columna más alta

Imita el comportamiento de una tabla y celdas con table y table-cell:

Código CSS:
Ver original
  1. div.row {
  2.   display: table;
  3. }
  4.  
  5. div.col-md-4 {
  6.   display: table-cell;
  7. }

Con eso debería de ser suficiente.

No puedes usar nada del tipo height: 100% ya que la altura del contenedor principal es auto (valor por defecto).
  #3 (permalink)  
Antiguo 25/07/2014, 05:40
 
Fecha de Ingreso: junio-2007
Mensajes: 298
Antigüedad: 17 años, 5 meses
Puntos: 5
Respuesta: Bootstrap: ajustar el height al height de la columna más alta

Me autorespondo a mí mismo. Ya encontré una solución. Lo pongo aquí por si alguien le viene bien:

Código HTML:
Ver original
  1. <div class="row">
  2.     <div class="col-md-4 rojo well">
  3.         En un lugar de la mancha<br>
  4.     </div>
  5.     <div class="col-md-4 azul well">
  6.         En un lugar de la mancha<br>
  7.         En un lugar de la mancha<br>
  8.         En un lugar de la mancha<br>
  9.         En un lugar de la mancha<br>
  10.         En un lugar de la mancha<br>
  11.     </div>
  12.     <div class="col-md-4 verde well">
  13.         En un lugar de la mancha<br>
  14.         En un lugar de la mancha<br>
  15.         En un lugar de la mancha<br>
  16.         En un lugar de la mancha<br>
  17.         En un lugar de la mancha<br>
  18.         En un lugar de la mancha<br>
  19.         En un lugar de la mancha<br>
  20.         En un lugar de la mancha<br>
  21.         En un lugar de la mancha<br>
  22.         En un lugar de la mancha<br>
  23.     </div>
  24. </div>
  25.  
  26. $(document).ready(function() {
  27.     var heights = $(".well").map(function() {
  28.         return $(this).height();
  29.     }).get(),
  30.  
  31.     maxHeight = Math.max.apply(null, heights);
  32.  
  33.     $(".well").height(maxHeight);
  34. });

Última edición por pzin; 25/07/2014 a las 06:02 Razón: Formato código
  #4 (permalink)  
Antiguo 25/07/2014, 06:02
Avatar de pzin
Moderata 😈
 
Fecha de Ingreso: julio-2002
Ubicación: Islas Canarias
Mensajes: 10.489
Antigüedad: 22 años, 3 meses
Puntos: 2114
Respuesta: Bootstrap: ajustar el height al height de la columna más alta

Acostúmbrate a usar la opción highlight para cuando publiques código.

Intenta usar lo que te dije en mi respuesta, no tienes realmente necesidad de usar JavaScript y mucho menos jQuery.
  #5 (permalink)  
Antiguo 30/07/2014, 03:32
 
Fecha de Ingreso: junio-2007
Mensajes: 298
Antigüedad: 17 años, 5 meses
Puntos: 5
Respuesta: Bootstrap: ajustar el height al height de la columna más alta

Gracias por el consejo de usar hightlight. Lo haré siempre a partir de ahora.

Pues probé en su momento lo tuyo con table-cell pero no me funcionó. El código que puse fue:

Código CSS:
Ver original
  1. div .row {
  2.   display: table;
  3. }
  4.  
  5. div .col-md-4 {
  6.   display: table-cell;
  7. }

Pero nada, cada celda sigue con sus propias alturas, por lo que al final lo hice con ese pequeño JQuery.

Muchas gracias por todo
  #6 (permalink)  
Antiguo 30/07/2014, 03:35
 
Fecha de Ingreso: junio-2007
Mensajes: 298
Antigüedad: 17 años, 5 meses
Puntos: 5
Respuesta: Bootstrap: ajustar el height al height de la columna más alta

Ya conseguí que funcionase con CSS en vez de JQuery. Dejo aquí el código por si le puede servir a alguien en el futuro:

Código CSS:
Ver original
  1. .col-md-4 {
  2.     display: table-cell;
  3.     float: none;
  4. }
  #7 (permalink)  
Antiguo 30/07/2014, 03:48
Avatar de pzin
Moderata 😈
 
Fecha de Ingreso: julio-2002
Ubicación: Islas Canarias
Mensajes: 10.489
Antigüedad: 22 años, 3 meses
Puntos: 2114
Respuesta: Bootstrap: ajustar el height al height de la columna más alta

Justamente. Cuando flotas un elemento es computado como un elemento de bloque, así que, técnicamente, el valor de display es tomado como block.
  #8 (permalink)  
Antiguo 15/02/2015, 19:53
 
Fecha de Ingreso: febrero-2015
Mensajes: 1
Antigüedad: 9 años, 9 meses
Puntos: 0
Respuesta: Bootstrap: ajustar el height al height de la columna más alta

Buen día schattenburg, te agradezco mucho las soluciones que has publicado, ya que estaba en busca de una respuesta.

La respuesta que encontraste en css hace que la distribución de las columnas deje de adaptarse a diversos tamaños de pantalla, presentándose de esta manera el mismo número de columnas tanto en un celular, como en un pc.

Por otro lado, la de Javascript si permite dicha adaptación, pero cuando estás en dispositivos de pantalla muy chica, y solo requieres de una columna, si tienes una diferencia importante entre el contenido de cada una de las columnas y a todas se les asigna el heigth de la columna con mayor contenido; sobrará demasiado espacio y en un celular el sitio no se vería bien.

Mi pregunta es: ¿como podrías completar el código js para que si el width de la pantalla es menor a 768px, ya no se utilice la clase well, se borre, o en otras palabras, el height de los contenedores se vuelva a comportar como estaba por defecto?

Te agradezco nuevamente, creo que si se soluciona lo anterior ya el sitio web quedaría totalmente responsive.

Saludos.
  #9 (permalink)  
Antiguo 16/02/2015, 00:38
Avatar de pzin
Moderata 😈
 
Fecha de Ingreso: julio-2002
Ubicación: Islas Canarias
Mensajes: 10.489
Antigüedad: 22 años, 3 meses
Puntos: 2114
Respuesta: Bootstrap: ajustar el height al height de la columna más alta

Cita:
Iniciado por diegorobh Ver Mensaje
La respuesta que encontraste en css hace que la distribución de las columnas deje de adaptarse a diversos tamaños de pantalla, presentándose de esta manera el mismo número de columnas tanto en un celular, como en un pc.
Usando media-queries puedes cambiar el comportamiento de esas columnas a tal o cual tamaño de pantalla.
__________________
(:

Etiquetas: background, bootstrap, color, columna, contenido, 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 03:20.