Cómo crear: columnas de altura igual
- Página anterior Elemento pegajoso
- Página siguiente Quitar flotación
Aprenda a crear columnas de altura igual utilizando CSS.
Cómo crear columnas de altura igual
Cuando sus columnas deben mostrarse en paralelo, generalmente desea que tengan la misma altura (alinearse con la altura más alta).
Problema:
Deseo:
Primer paso - Añadir HTML:
<div class="col-container"> <div class="col"> <h2>Columna 1</h2> <p>Hola Mundo</p> </div> <div class="col"> <h2>Columna 2</h2> <p>Hola Mundo!</p> <p>Hola Mundo!</p> <p>Hola Mundo!</p> <p>Hola Mundo!</p> </div> <div class="col"> <h2>Columna 3</h2> <p>Some other text..</p> <p>Some other text..</p> </div> </div>
Segundo paso - Añadir CSS:
.col-container { display: table; /* Hace que los elementos del contenedor se comporten como una tabla */ width: 100%; /* Establecido en ancho completo para expandir toda la página */ } .col { display: table-cell; /* Hace que los elementos dentro del contenedor se comporten como celdas de tabla */ }
Alturas iguales adaptables
Las columnas que creamos en el ejemplo anterior son adaptables (si ajusta el tamaño de la ventana del navegador en el ejemplo que intenta, verá que se ajustan automáticamente al ancho y altura necesarios). Sin embargo, para las pantallas pequeñas (como los smartphones), es posible que desee que se apilen verticalmente en lugar de mostrarse horizontalmente:
En la pantalla media y grande:
Hola Mundo.
Hola Mundo.
Hola Mundo.
Hola Mundo.
Hola Mundo.
En la pantalla pequeña:
Hola Mundo.
Hola Mundo.
Hola Mundo.
Hola Mundo.
Hola Mundo.
Para lograr esto, agregue una consulta de medios y especifique un valor de píxeles de punto de quiebre:
Ejemplo
/* Si la ventana del navegador es menor de 600px, hacer que las columnas se apilen */ @media only screen and (max-width: 600px) { .col { display: block; width: 100%; } }
Implementar alturas y anchos iguales con Flexbox
También puede usar Flexbox para crear cuadros de altura igual:
Ejemplo
.col-container { display: flex; width: 100%; } .col { flex: 1; padding: 16px; }
Atención:No se admite Flexbox en versiones de Internet Explorer 10 y anteriores.
Páginas relacionadas
Tutoriales:CSS Flexbox
- Página anterior Elemento pegajoso
- Página siguiente Quitar flotación