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 🤘