En aquest tema, explorarem les propietats que es poden aplicar als elements fills d'un contenidor Flexbox. Aquestes propietats permeten controlar com es distribueixen i s'alineen els elements dins del contenidor. Les propietats principals dels elements flex són:
- order
- flex-grow
- flex-shrink
- flex-basis
- flex
- align-self
- Propietat
order
orderLa propietat order determina l'ordre en què es disposen els elements dins del contenidor flex. Per defecte, tots els elements tenen un valor order de 0. Els elements amb un valor order més baix apareixen abans que els elements amb un valor més alt.
En aquest exemple, l'element .item2 apareixerà primer, seguit de .item1 i finalment .item3.
- Propietat
flex-grow
flex-growLa propietat flex-grow especifica la capacitat d'un element per créixer en proporció als altres elements flexibles dins del mateix contenidor. El valor per defecte és 0 (no creix).
En aquest exemple, l'element .item2 ocuparà el doble d'espai que .item1 i .item3.
- Propietat
flex-shrink
flex-shrinkLa propietat flex-shrink especifica la capacitat d'un element per reduir-se en proporció als altres elements flexibles dins del mateix contenidor. El valor per defecte és 1 (pot reduir-se).
En aquest exemple, l'element .item2 es reduirà el doble que .item1 i .item3 si l'espai disponible és limitat.
- Propietat
flex-basis
flex-basisLa propietat flex-basis especifica la mida inicial d'un element abans que es distribueixi l'espai disponible. Pot acceptar valors com px, %, em, etc.
En aquest exemple, l'element .item1 tindrà una mida inicial de 100 píxels, .item2 de 200 píxels i .item3 de 150 píxels.
- Propietat
flex
flexLa propietat flex és una abreviatura per a les propietats flex-grow, flex-shrink i flex-basis. La sintaxi és flex: [flex-grow] [flex-shrink] [flex-basis];.
En aquest exemple, l'element .item1 creixerà i es reduirà amb una mida inicial de 100 píxels, .item2 creixerà el doble que .item1 i .item3 amb una mida inicial de 200 píxels, i .item3 tindrà una mida inicial de 150 píxels.
- Propietat
align-self
align-selfLa propietat align-self permet alinear un element individualment dins del contenidor flex. Pot sobreescriure l'alineació establerta per align-items al contenidor. Els valors possibles són auto, flex-start, flex-end, center, baseline i stretch.
En aquest exemple, l'element .item1 s'alinearà a l'inici del contenidor, .item2 al centre i .item3 al final.
Exercicis Pràctics
Exercici 1: Ordenar Elements
- Crea un contenidor flex amb tres elements.
- Utilitza la propietat
orderper fer que el segon element aparegui primer, el tercer segon i el primer últim.
<!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: flex;
}
.item1 {
order: 3;
}
.item2 {
order: 1;
}
.item3 {
order: 2;
}
</style>
</head>
<body>
<div class="container">
<div class="item1">Element 1</div>
<div class="item2">Element 2</div>
<div class="item3">Element 3</div>
</div>
</body>
</html>Exercici 2: Flex-Grow i Flex-Shrink
- Crea un contenidor flex amb tres elements.
- Utilitza les propietats
flex-growiflex-shrinkper fer que el primer element creixi el doble que els altres dos, i que el segon element es redueixi el doble que els altres dos.
<!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: flex;
}
.item1 {
flex-grow: 2;
flex-shrink: 1;
}
.item2 {
flex-grow: 1;
flex-shrink: 2;
}
.item3 {
flex-grow: 1;
flex-shrink: 1;
}
</style>
</head>
<body>
<div class="container">
<div class="item1">Element 1</div>
<div class="item2">Element 2</div>
<div class="item3">Element 3</div>
</div>
</body>
</html>Exercici 3: Flex-Basis i Align-Self
- Crea un contenidor flex amb tres elements.
- Utilitza la propietat
flex-basisper establir mides inicials diferents per a cada element. - Utilitza la propietat
align-selfper alinear cada element de manera diferent dins del contenidor.
<!DOCTYPE html>
<html lang="ca">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Exercici 3</title>
<style>
.container {
display: flex;
height: 200px;
}
.item1 {
flex-basis: 100px;
align-self: flex-start;
}
.item2 {
flex-basis: 200px;
align-self: center;
}
.item3 {
flex-basis: 150px;
align-self: flex-end;
}
</style>
</head>
<body>
<div class="container">
<div class="item1">Element 1</div>
<div class="item2">Element 2</div>
<div class="item3">Element 3</div>
</div>
</body>
</html>Conclusió
En aquesta secció, hem après sobre les propietats dels elements flexibles dins d'un contenidor Flexbox. Aquestes propietats ens permeten controlar l'ordre, el creixement, la reducció, la mida inicial i l'alineació dels elements flexibles. Amb aquests coneixements, podem crear dissenys més dinàmics i adaptables. En el proper tema, explorarem com crear dissenys complets utilitzant Flexbox.
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
