En aquest tema, aprendrem com aplicar estils als components en Angular. Els estils són una part essencial del desenvolupament web, ja que permeten donar una aparença visual atractiva i coherent a les aplicacions. Angular proporciona diverses maneres d'aplicar estils als components, incloent estils en línia, estils en fitxers CSS externs i estils encapsulats.
Objectius
- Entendre com aplicar estils en línia als components.
- Aprendre a utilitzar fitxers CSS externs per estilitzar components.
- Comprendre el concepte d'encapsulament d'estils en Angular.
- Explorar l'ús de pre-processadors CSS com SASS en Angular.
Estils en línia
Els estils en línia es defineixen directament dins del component utilitzant la propietat styles
del decorador @Component
. Aquesta és una manera ràpida i senzilla d'aplicar estils específics a un component.
Exemple
import { Component } from '@angular/core'; @Component({ selector: 'app-inline-styles', template: ` <h1>Component amb estils en línia</h1> <p>Aquest paràgraf està estilitzat en línia.</p> `, styles: [` h1 { color: blue; } p { font-size: 16px; color: green; } `] }) export class InlineStylesComponent { }
Explicació
- La propietat
styles
conté un array de cadenes de text que defineixen els estils CSS. - Els estils s'apliquen només al component en què es defineixen, gràcies a l'encapsulament d'estils d'Angular.
Estils en fitxers CSS externs
Una altra manera d'aplicar estils és utilitzant fitxers CSS externs. Això permet una millor organització i mantenibilitat dels estils, especialment en aplicacions grans.
Exemple
import { Component } from '@angular/core'; @Component({ selector: 'app-external-styles', template: ` <h1>Component amb estils externs</h1> <p>Aquest paràgraf està estilitzat amb un fitxer CSS extern.</p> `, styleUrls: ['./external-styles.component.css'] }) export class ExternalStylesComponent { }
Fitxer CSS extern (external-styles.component.css
)
Explicació
- La propietat
styleUrls
conté un array de rutes a fitxers CSS externs. - Els estils definits en aquests fitxers s'apliquen només al component en què es refereixen.
Encapsulament d'estils
Angular encapsula els estils per defecte, assegurant que els estils d'un component no afectin altres components. Això es fa afegint atributs únics als elements HTML del component.
Exemple
import { Component } from '@angular/core'; @Component({ selector: 'app-encapsulation', template: ` <h1>Component amb encapsulament d'estils</h1> <p>Aquest paràgraf està estilitzat amb encapsulament.</p> `, styles: [` h1 { color: orange; } p { font-size: 20px; color: brown; } `] }) export class EncapsulationComponent { }
Explicació
- Els estils encapsulats s'apliquen només al component en què es defineixen.
- Angular utilitza atributs únics per assegurar que els estils no es propaguen a altres components.
Ús de pre-processadors CSS (SASS)
Angular suporta l'ús de pre-processadors CSS com SASS, que permeten utilitzar característiques avançades com variables, mixins i nesting.
Exemple
Fitxer SASS (styles.component.scss
)
$primary-color: #3498db; h1 { color: $primary-color; } p { font-size: 16px; color: darken($primary-color, 20%); }
Component
import { Component } from '@angular/core'; @Component({ selector: 'app-sass-styles', template: ` <h1>Component amb estils SASS</h1> <p>Aquest paràgraf està estilitzat amb SASS.</p> `, styleUrls: ['./styles.component.scss'] }) export class SassStylesComponent { }
Explicació
- Els fitxers SASS es compilen a CSS abans de ser aplicats al component.
- Això permet utilitzar característiques avançades de SASS per millorar la mantenibilitat i la reutilització dels estils.
Exercicis pràctics
Exercici 1: Estils en línia
Crea un component amb estils en línia que canviï el color del text i la mida de la font d'un paràgraf.
Solució
import { Component } from '@angular/core'; @Component({ selector: 'app-inline-exercise', template: ` <p>Paràgraf estilitzat en línia.</p> `, styles: [` p { color: blue; font-size: 18px; } `] }) export class InlineExerciseComponent { }
Exercici 2: Estils externs
Crea un component que utilitzi un fitxer CSS extern per estilitzar un títol i un paràgraf.
Solució
Component
import { Component } from '@angular/core'; @Component({ selector: 'app-external-exercise', template: ` <h1>Títol estilitzat externament</h1> <p>Paràgraf estilitzat externament.</p> `, styleUrls: ['./external-exercise.component.css'] }) export class ExternalExerciseComponent { }
Fitxer CSS extern (external-exercise.component.css
)
Resum
En aquesta secció, hem après com aplicar estils als components en Angular utilitzant estils en línia, fitxers CSS externs i pre-processadors CSS com SASS. També hem explorat el concepte d'encapsulament d'estils, que assegura que els estils d'un component no afectin altres components. Aquests coneixements són essencials per crear aplicacions Angular amb una aparença visual atractiva i coherent.
Curs d'Angular 2+
Mòdul 1: Introducció a Angular
- Què és Angular?
- Configuració de l'entorn de desenvolupament
- La teva primera aplicació Angular
- Arquitectura d'Angular
Mòdul 2: Conceptes bàsics de TypeScript
- Introducció a TypeScript
- Variables i tipus de dades en TypeScript
- Funcions i funcions fletxa
- Classes i interfícies
Mòdul 3: Components i plantilles
Mòdul 4: Directives i pipes
Mòdul 5: Serveis i injecció de dependències
Mòdul 6: Enrutament i navegació
Mòdul 7: Formularis en Angular
Mòdul 8: Client HTTP i observables
- Introducció al client HTTP
- Realització de sol·licituds HTTP
- Gestió de respostes HTTP
- Ús d'observables