CSS: Flexbox
Aprende a utilizar CSS 3 Flexbox y Grid para crear diseños web modernos y eficientes. Domina estos módulos esenciales en tu desarrollo front-end.
Aprende CSS GRATIS y certifícateEl diseño web moderno requiere herramientas eficientes y flexibles para crear interfaces responsivas y bien estructuradas. CSS 3 introduce dos módulos fundamentales para este propósito: Flexbox y Grid. Ambos proporcionan métodos robustos para controlar la disposición de los elementos en una página web, facilitando la creación de diseños complejos y adaptativos. A continuación, se detallan sus características y formas de uso.
Flexbox
El módulo Flexbox (Flexible Box Layout) está diseñado para distribuir el espacio entre los elementos de un contenedor y mejorar la alineación de los mismos. Es especialmente útil para diseños unidimensionales, ya que permite controlar la disposición en una sola dirección, ya sea horizontal o vertical.
Propiedades principales
display: flex;
Activa Flexbox en un contenedor. Todos los elementos hijos se convierten en elementos flexibles.flex-direction:
Define la dirección en la que se distribuyen los elementos flexibles. Valores comunes:
row
(predeterminado): Elementos dispuestos en una fila.column
: Elementos dispuestos en una columna.
- justify-content:
Alinea los elementos flexibles a lo largo del eje principal. Valores comunes:
flex-start
: Alinea los elementos al inicio del contenedor.center
: Alinea los elementos al centro del contenedor.space-between
: Distribuye los elementos con espacio igual entre ellos.
- align-items:
Alinea los elementos flexibles a lo largo del eje transversal. Valores comunes:
stretch
(predeterminado): Estira los elementos para llenar el contenedor.center
: Alinea los elementos en el centro del contenedor.
Ejemplo de uso
.container {
display: flex;
flex-direction: row;
justify-content: space-between;
align-items: center;
}
<div class="container">
<div class="item">Elemento 1</div>
<div class="item">Elemento 2</div>
<div class="item">Elemento 3</div>
</div>
Grid
El módulo Grid Layout es más adecuado para diseños bidimensionales, ya que permite controlar tanto filas como columnas. Es ideal para crear estructuras de diseño complejas y adaptativas.
Propiedades principales
display: grid;
Activa Grid en un contenedor. Todos los elementos hijos se convierten en elementos de la cuadrícula.grid-template-columns:
Define el número y tamaño de las columnas en la cuadrícula. Ejemplo:
grid-template-columns: 1fr 2fr;
Esto crea dos columnas, la primera ocupando un espacio flexible y la segunda el doble de espacio.
- grid-template-rows:
Define el número y tamaño de las filas en la cuadrícula. Ejemplo:
grid-template-rows: auto 100px;
Esto crea dos filas, la primera con altura automática y la segunda con una altura fija de 100px.
- gap:
Define el espacio entre las filas y columnas. Ejemplo:
gap: 10px;
Ejemplo de uso
.container {
display: grid;
grid-template-columns: 1fr 2fr;
grid-template-rows: auto 100px;
gap: 10px;
}
<div class="container">
<div class="item">Elemento 1</div>
<div class="item">Elemento 2</div>
<div class="item">Elemento 3</div>
<div class="item">Elemento 4</div>
</div>
Flexbox y Grid en CSS 3 son herramientas esenciales para cualquier desarrollador web que busque crear interfaces modernas y responsivas. El uso adecuado de estas tecnologías puede simplificar enormemente el proceso de diseño y mejorar la experiencia del usuario en la web.
Lecciones de este módulo de CSS
Lecciones de programación del módulo Flexbox del curso de CSS.
Ejercicios de programación en este módulo de CSS
Evalúa tus conocimientos en Flexbox con ejercicios de programación Flexbox de tipo Test, Puzzle, Código y Proyecto con VSCode.