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
