El disseny de graella CSS (CSS Grid Layout) és una tècnica poderosa que permet crear dissenys web complexos i responsius amb facilitat. A diferència de Flexbox, que és ideal per a dissenys unidimensionals, CSS Grid és perfecte per a dissenys bidimensionals, ja que permet controlar tant les files com les columnes.
Conceptes Clau del Disseny de Graella CSS
-
Contenidor de Graella (Grid Container):
- És l'element que conté la graella. Qualsevol element fill d'aquest contenidor es converteix en un element de graella.
- Per definir un contenidor de graella, s'utilitza la propietat
display: grid;
.
-
Elements de Graella (Grid Items):
- Són els elements fills directes del contenidor de graella.
- Aquests elements es col·loquen automàticament en la graella segons les regles definides.
-
Tracks de Graella:
- Són les files i columnes que formen la graella.
-
Àrees de Graella:
- Són seccions de la graella que poden contenir un o més elements de graella.
Propietats Bàsiques de CSS Grid
Definició de Files i Columnes
grid-template-columns
igrid-template-rows
: Defineixen el nombre i la mida de les columnes i files de la graella..grid-container { display: grid; grid-template-columns: 100px 200px 100px; grid-template-rows: 100px 200px; }
Espaiat i Aliniació
-
grid-gap
: Defineix l'espai entre les files i columnes..grid-container { grid-gap: 10px; }
-
justify-items
ialign-items
: Controlen l'aliniació dels elements de graella dins de les seves cel·les..grid-container { justify-items: center; align-items: center; }
Posicionament d'Elements
grid-column
igrid-row
: Permeten especificar en quina fila o columna ha d'estar un element de graella..grid-item { grid-column: 1 / 3; /* De la columna 1 a la 3 */ grid-row: 1 / 2; /* De la fila 1 a la 2 */ }
Exemple Pràctic
A continuació, es mostra un exemple pràctic d'un disseny de graella CSS:
<div class="grid-container"> <div class="grid-item">1</div> <div class="grid-item">2</div> <div class="grid-item">3</div> <div class="grid-item">4</div> </div>
.grid-container { display: grid; grid-template-columns: repeat(2, 1fr); grid-template-rows: 100px 100px; grid-gap: 10px; } .grid-item { background-color: #ccc; border: 1px solid #333; text-align: center; line-height: 100px; }
Exercici Pràctic
Objectiu: Crea una graella amb 3 columnes i 2 files, on cada cel·la tingui un color diferent.
Solució
<div class="grid-container"> <div class="grid-item" style="background-color: lightcoral;">1</div> <div class="grid-item" style="background-color: lightblue;">2</div> <div class="grid-item" style="background-color: lightgreen;">3</div> <div class="grid-item" style="background-color: lightpink;">4</div> <div class="grid-item" style="background-color: lightyellow;">5</div> <div class="grid-item" style="background-color: lightgray;">6</div> </div>
.grid-container { display: grid; grid-template-columns: repeat(3, 1fr); grid-template-rows: repeat(2, 100px); grid-gap: 10px; } .grid-item { text-align: center; line-height: 100px; }
Conclusió
El disseny de graella CSS és una eina essencial per a qualsevol desenvolupador web que vulgui crear dissenys complexos i responsius de manera eficient. Amb la seva capacitat per controlar tant les files com les columnes, ofereix una flexibilitat sense precedents en la disposició dels elements. Practicar amb diferents configuracions de graella ajudarà a comprendre millor el seu potencial i aplicació en projectes reals.
Curs de Disseny Responsive
Mòdul 1: Introducció al Disseny Responsive
- Què és el Disseny Responsive?
- Història i Importància del Disseny Responsive
- Principis Bàsics del Disseny Responsive
Mòdul 2: Fonaments d'HTML i CSS
Mòdul 3: Media Queries
- Comprensió de les Media Queries
- Ús de les Media Queries en CSS
- Punts de Trencament i Dissenys Responsius