Tanto Flexbox (Flexible Box Layout) como Grid (Grid Layout) son módulos de CSS que nos permiten diseñar layouts complejos y responsivos de manera mucho más eficiente que los métodos tradicionales (como float o inline-block). Sin embargo, abordan el problema del layout desde perspectivas diferentes.
Flexbox está diseñado para la distribución y alineación de elementos en una sola dimensióna la vez, ya sea en una fila (horizontal) o en una columna (vertical). Es ideal para:
Grid está diseñado para el diseño de layouts en dos dimensionessimultáneamente: filas y columnas. Es perfecto para:
Es muy común usar ambos juntos: Grid para definir las áreas principales de la página y Flexbox dentro de esas áreas para alinear el contenido de forma flexible.
A continuación, verás ejemplos de código para cada uno.