En aquest tema, aprendrem sobre les propietats del contenidor Grid en CSS. CSS Grid és un sistema de disseny bidimensional que permet crear dissenys complexos de manera senzilla i eficient. Les propietats del contenidor Grid són fonamentals per definir l'estructura i el comportament de la graella.
Índex
Display: grid
La propietat display: grid
és la que converteix un element en un contenidor Grid. Això permet utilitzar totes les altres propietats de Grid per definir el disseny.
Grid-template-columns i grid-template-rows
Aquestes propietats defineixen el nombre de columnes i files, així com les seves dimensions.
.container { display: grid; grid-template-columns: 100px 200px 100px; grid-template-rows: 50px 100px; }
En aquest exemple, el contenidor Grid tindrà tres columnes amb amplades de 100px, 200px i 100px, respectivament, i dues files amb alçades de 50px i 100px.
Fraccions (fr)
Una unitat molt útil en CSS Grid és la fracció (fr
), que permet dividir l'espai disponible de manera proporcional.
En aquest cas, la segona columna serà el doble d'ampla que la primera i la tercera.
Grid-gap
La propietat grid-gap
(o les seves variants grid-row-gap
i grid-column-gap
) defineix l'espai entre les files i les columnes.
Això crearà un espai de 10px entre cada fila i columna.
Grid-template-areas
Aquesta propietat permet definir àrees nominals dins del contenidor Grid, facilitant la col·locació dels elements fills.
.container { display: grid; grid-template-columns: 1fr 1fr 1fr; grid-template-rows: 100px 100px; grid-template-areas: "header header header" "sidebar main main"; } .header { grid-area: header; } .sidebar { grid-area: sidebar; } .main { grid-area: main; }
En aquest exemple, hem definit tres àrees: header
, sidebar
i main
, i hem assignat aquestes àrees als elements fills corresponents.
Justify-content i align-content
Aquestes propietats s'utilitzen per alinear el contingut dins del contenidor Grid.
justify-content
: alinea el contingut horitzontalment.align-content
: alinea el contingut verticalment.
.container { display: grid; grid-template-columns: 1fr 1fr 1fr; justify-content: center; align-content: center; }
Exercicis Pràctics
Exercici 1: Crear una Graella Simple
Crea un contenidor Grid amb tres columnes de la mateixa amplada i dues files de la mateixa alçada. Afegeix un espai de 20px entre les files i les columnes.
<!DOCTYPE html> <html lang="ca"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Exercici 1</title> <style> .container { display: grid; grid-template-columns: 1fr 1fr 1fr; grid-template-rows: 100px 100px; grid-gap: 20px; } .item { background-color: lightblue; border: 1px solid #000; } </style> </head> <body> <div class="container"> <div class="item">1</div> <div class="item">2</div> <div class="item">3</div> <div class="item">4</div> <div class="item">5</div> <div class="item">6</div> </div> </body> </html>
Exercici 2: Utilitzar Grid-template-areas
Crea un contenidor Grid amb una àrea de capçalera, una barra lateral i una àrea principal. Utilitza grid-template-areas
per definir les àrees.
<!DOCTYPE html> <html lang="ca"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Exercici 2</title> <style> .container { display: grid; grid-template-columns: 1fr 3fr; grid-template-rows: 100px 1fr; grid-template-areas: "header header" "sidebar main"; grid-gap: 10px; } .header { grid-area: header; background-color: lightcoral; } .sidebar { grid-area: sidebar; background-color: lightgreen; } .main { grid-area: main; background-color: lightblue; } </style> </head> <body> <div class="container"> <div class="header">Capçalera</div> <div class="sidebar">Barra Lateral</div> <div class="main">Àrea Principal</div> </div> </body> </html>
Conclusió
En aquesta secció, hem après sobre les propietats del contenidor Grid, incloent-hi display: grid
, grid-template-columns
, grid-template-rows
, grid-gap
, grid-template-areas
, justify-content
i align-content
. Aquestes propietats són essencials per crear dissenys complexos i flexibles amb CSS Grid. En els següents temes, aprofundirem en les propietats dels elements Grid i com utilitzar CSS Grid per crear dissenys responsius.
Domini del CSS: De Principiant a Avançat
Mòdul 1: Introducció al CSS
- Què és el CSS?
- Sintaxi i Selectors de CSS
- Com Afegir CSS a HTML
- Propietats Bàsiques de CSS
- Colors en CSS
- Unitats i Mesures en CSS
Mòdul 2: Estilització de Text i Fonts
- Propietats de Text
- Propietats de Fonts
- Integració de Google Fonts
- Alineació i Espaiat de Text
- Decoració i Transformació de Text
Mòdul 3: Model de Caixa i Disseny
- Comprendre el Model de Caixa
- Marge i Farciment
- Vora i Contorn
- Amplada i Alçada
- Dimensionament de Caixa
- Propietat de Visualització de CSS
Mòdul 4: Posicionament i Flotació
- Propietat de Posició de CSS
- Posicionament Estàtic, Relatiu, Absolut i Fix
- Flotació i Neteja de CSS
- Crear Dissenys amb Flotació
- Índex Z de CSS
Mòdul 5: Flexbox
- Introducció a Flexbox
- Propietats del Contenidor Flex
- Propietats dels Elements Flex
- Crear Dissenys amb Flexbox
- Disseny Responsiu amb Flexbox
Mòdul 6: CSS Grid
- Introducció a CSS Grid
- Propietats del Contenidor Grid
- Propietats dels Elements Grid
- Crear Dissenys amb CSS Grid
- Disseny Responsiu amb CSS Grid
Mòdul 7: Tècniques Avançades de CSS
Mòdul 8: Disseny Responsiu
- Introducció al Disseny Responsiu
- Consultes de Mitjans
- Tipografia Responsiva
- Imatges Responsives
- Disseny Mobile-First
Mòdul 9: Preprocessadors i Frameworks
- Introducció als Preprocessadors de CSS
- Conceptes Bàsics de Sass
- Conceptes Bàsics de Less
- Introducció als Frameworks de CSS
- Ús de Bootstrap
Mòdul 10: Millors Pràctiques i Optimització
- Millors Pràctiques de CSS
- Organització del Codi CSS
- Minificació de CSS
- Optimització del Rendiment de CSS
- Depuració de CSS