Dos ejemplos diferentes de como crear un grid con cuadrados iguales usando CSS Grid Layout.
Para los 2 ewjemplos vamos a usar la misma base de grid de 10 columnas:
.grid { display: grid; grid-template-columns: repeat(10, 1fr); grid-gap: 10px; padding: 10px; }
Ejemplo 1
Para hacer cuadrados iguales a los elementos siempre he solido usar un pseudoelemento a los hijos con padding-bottom: 100%
para hacerlos de dimensiones cuadradas:
.grid li:before { content: ""; padding-bottom: 100%; display: inline-block; vertical-align: top; }
Demo:
Ejemplo 2
Otra forma similar, pero diferente es usando también el padding-bottom: 100%
pero esta vez en el contenedor del grid y ajustando las filas y columnas del primer elemento hijo con 1 / 1
:
.grid:before { content: ''; width: 0; padding-bottom: 100%; grid-row: 1 / 1; grid-column: 1 / 1; } .grid li:first-child { grid-row: 1 / 1; grid-column: 1 / 1; }
Demo:
Agradezco tu comentario 🤘