En aquest tema, aprendrem com utilitzar CSS i SCSS per estilitzar les nostres aplicacions Ionic. CSS (Cascading Style Sheets) és un llenguatge utilitzat per descriure la presentació d'un document escrit en HTML o XML. SCSS (Sassy CSS) és una extensió de CSS que afegeix potents característiques com variables, mixins, i anidament, facilitant l'escriptura i manteniment del codi CSS.
Continguts
Introducció a CSS i SCSS
CSS
CSS és un llenguatge de fulls d'estil que permet aplicar estils als elements HTML. A continuació es mostra un exemple bàsic de CSS:
body { background-color: #f0f0f0; font-family: Arial, sans-serif; } h1 { color: #333; text-align: center; }
SCSS
SCSS és una extensió de CSS que afegeix característiques com variables, anidament, i mixins. Aquí teniu un exemple bàsic de SCSS:
$primary-color: #333; $background-color: #f0f0f0; body { background-color: $background-color; font-family: Arial, sans-serif; h1 { color: $primary-color; text-align: center; } }
Estructura de Fitxers CSS i SCSS en Ionic
En un projecte Ionic, els fitxers CSS i SCSS es troben normalment a la carpeta src/theme
i a les carpetes de components o pàgines específiques. La configuració per defecte d'Ionic utilitza SCSS, però també podeu utilitzar CSS si ho preferiu.
Exemple d'Estructura de Fitxers
src/ ├── theme/ │ ├── variables.scss │ └── global.scss ├── app/ │ ├── app.component.scss │ └── app.component.html ├── pages/ │ ├── home/ │ │ ├── home.page.scss │ │ └── home.page.html │ └── about/ │ ├── about.page.scss │ └── about.page.html
Variables i Mixins en SCSS
Variables
Les variables en SCSS permeten definir valors reutilitzables. Això és especialment útil per mantenir la consistència en els colors, mides, i altres propietats.
$primary-color: #3880ff; $secondary-color: #3dc2ff; button { background-color: $primary-color; color: white; }
Mixins
Els mixins són blocs de codi reutilitzables que es poden incloure en altres regles CSS. Això ajuda a evitar la duplicació de codi.
@mixin center { display: flex; justify-content: center; align-items: center; } .container { @include center; height: 100vh; }
Anidament i Herència en SCSS
Anidament
L'anidament permet escriure regles CSS de manera més jeràrquica i llegible.
Herència
L'herència permet que un selector hereti les propietats d'un altre selector.
%message { padding: 10px; border: 1px solid #ccc; } .success { @extend %message; border-color: green; } .error { @extend %message; border-color: red; }
Exemples Pràctics
Exemple 1: Estilitzant un Botó
button { background-color: $primary-color; border: none; color: white; padding: 10px 20px; text-align: center; text-decoration: none; display: inline-block; font-size: 16px; margin: 4px 2px; cursor: pointer; border-radius: 4px; &:hover { background-color: darken($primary-color, 10%); } }
Exemple 2: Estilitzant una Pàgina
.page-home { .header { background-color: $secondary-color; padding: 20px; text-align: center; color: white; } .content { padding: 20px; p { font-size: 18px; line-height: 1.5; } } }
Exercicis Pràctics
Exercici 1: Estilitzar una Targeta
Crea una targeta amb SCSS que tingui un títol, una imatge i una descripció. Utilitza variables i mixins per mantenir el codi organitzat.
Solució
$card-background: #fff; $card-border: #ddd; $card-padding: 20px; @mixin card { background-color: $card-background; border: 1px solid $card-border; border-radius: 4px; padding: $card-padding; box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); } .card { @include card; .card-title { font-size: 24px; margin-bottom: 10px; } .card-image { width: 100%; height: auto; margin-bottom: 10px; } .card-description { font-size: 16px; color: #666; } }
Exercici 2: Crear un Layout Responsiu
Crea un layout responsiu amb SCSS que tingui una barra lateral i un contingut principal. La barra lateral ha de ser visible en pantalles grans i amagar-se en pantalles petites.
Solució
$sidebar-width: 250px; $breakpoint: 768px; .layout { display: flex; .sidebar { width: $sidebar-width; background-color: $primary-color; color: white; padding: 20px; @media (max-width: $breakpoint) { display: none; } } .content { flex: 1; padding: 20px; } }
Conclusió
En aquest tema, hem après com utilitzar CSS i SCSS per estilitzar les nostres aplicacions Ionic. Hem vist com estructurar els fitxers CSS i SCSS, utilitzar variables i mixins, i aplicar anidament i herència en SCSS. També hem treballat amb exemples pràctics i exercicis per reforçar els conceptes apresos. Amb aquests coneixements, estàs preparat per crear aplicacions Ionic amb estils personalitzats i mantenibles.
Curs de Desenvolupament Ionic
Mòdul 1: Introducció a Ionic
- Què és Ionic?
- Configuració de l'Entorn de Desenvolupament
- Creant la Teva Primera App Ionic
- Entenent l'Estructura del Projecte
- Executant i Depurant la Teva App
Mòdul 2: Components Bàsics i Navegació
- Visió General dels Components Ionic
- Utilitzant Botons i Icones Ionic
- Creant i Utilitzant Pàgines
- Navegació i Enrutament
- Pestanyes i Menús Laterals
Mòdul 3: Estilització i Tematització
- Introducció a l'Estilització Ionic
- Utilitzant CSS i SCSS en Ionic
- Tematitzant la Teva App Ionic
- Disseny Responsiu en Ionic
- Personalitzant Components Ionic
Mòdul 4: Treballant amb Dades
- Introducció al Binding de Dades
- Utilitzant Serveis Angular
- Peticions HTTP i APIs
- Emmagatzemant Dades Localment
- Utilitzant Ionic Storage
Mòdul 5: Components i Funcionalitats Avançades
- Utilitzant Formularis Ionic
- Validació i Gestió d'Errors
- Utilitzant Plugins Ionic Native i Cordova
- Accedint a Funcionalitats del Dispositiu
- Notificacions Push
Mòdul 6: Proves i Desplegament
- Proves Unitàries en Ionic
- Proves de Cap a Cap
- Construint per a Producció
- Desplegant a les Botigues d'Aplicacions
- Integració i Lliurament Continu