Sass (Syntactically Awesome Stylesheets) és un preprocessador CSS que afegeix funcionalitats avançades al CSS, com ara variables, mixins, funcions, i molt més. Aquest mòdul t'introduirà als conceptes bàsics de Sass i com pots utilitzar-lo per millorar el teu flux de treball en CSS.
Què és Sass?
Sass és un llenguatge de preprocesament que s'utilitza per escriure CSS de manera més eficient i mantenible. Permet utilitzar característiques com variables, mixins, i anidament, que no són possibles amb CSS estàndard.
Avantatges de Sass:
- Variables: Permeten emmagatzemar valors CSS en una variable reutilitzable.
- Anidament: Permet escriure selectors CSS de manera més clara i jeràrquica.
- Mixins: Permeten reutilitzar blocs de codi CSS.
- Partials i Imports: Permeten dividir el codi CSS en múltiples fitxers.
- Herència: Permet compartir un conjunt de propietats CSS entre diferents selectors.
Instal·lació de Sass
Utilitzant Node.js i npm:
- Instal·la Node.js: Si no tens Node.js instal·lat, descarrega'l i instal·la'l des de nodejs.org.
- Instal·la Sass: Obre la terminal i executa la següent comanda:
npm install -g sass
Utilitzant un compilador en línia:
Si no vols instal·lar Sass localment, pots utilitzar un compilador en línia com SassMeister.
Sintaxi de Sass
Sass té dues sintaxis principals: Sass (indented syntax) i SCSS (Sassy CSS). En aquest curs, ens centrarem en SCSS, ja que és més similar al CSS estàndard.
Exemple de SCSS:
$primary-color: #333;
body {
font: 100% Helvetica, sans-serif;
color: $primary-color;
}
nav {
ul {
margin: 0;
padding: 0;
list-style: none;
}
li { display: inline-block; }
a {
display: block;
padding: 6px 12px;
text-decoration: none;
}
}Variables
Les variables en Sass permeten emmagatzemar valors que es poden reutilitzar en tot el full d'estils.
Exemple de Variables:
$font-stack: Helvetica, sans-serif;
$primary-color: #333;
body {
font: 100% $font-stack;
color: $primary-color;
}Anidament
L'anidament permet escriure selectors CSS de manera més clara i jeràrquica.
Exemple d'Anidament:
nav {
ul {
margin: 0;
padding: 0;
list-style: none;
}
li { display: inline-block; }
a {
display: block;
padding: 6px 12px;
text-decoration: none;
}
}Mixins
Els mixins permeten reutilitzar blocs de codi CSS. Pots definir un mixin amb @mixin i incloure'l amb @include.
Exemple de Mixins:
@mixin border-radius($radius) {
-webkit-border-radius: $radius;
-moz-border-radius: $radius;
-ms-border-radius: $radius;
border-radius: $radius;
}
.box { @include border-radius(10px); }Partials i Imports
Els partials permeten dividir el codi CSS en múltiples fitxers. Els fitxers partials comencen amb un guió baix (_).
Exemple de Partials i Imports:
-
_reset.scss:
* { margin: 0; padding: 0; box-sizing: border-box; } -
styles.scss:
@import 'reset'; body { font: 100% Helvetica, sans-serif; background-color: #f0f0f0; }
Herència
La herència permet compartir un conjunt de propietats CSS entre diferents selectors amb @extend.
Exemple d'Herència:
.message {
border: 1px solid #ccc;
padding: 10px;
color: #333;
}
.success {
@extend .message;
border-color: green;
}
.error {
@extend .message;
border-color: red;
}
.warning {
@extend .message;
border-color: yellow;
}Exercicis Pràctics
Exercici 1: Crear Variables
- Defineix una variable
$primary-coloramb el valor#3498db. - Defineix una variable
$font-stackamb el valorArial, sans-serif. - Aplica aquestes variables a un element
body.
Solució:
$primary-color: #3498db;
$font-stack: Arial, sans-serif;
body {
font-family: $font-stack;
color: $primary-color;
}Exercici 2: Utilitzar Mixins
- Defineix un mixin
box-shadowque accepti un paràmetre$shadow. - Aplica aquest mixin a un element
.cardamb el valor0 4px 8px rgba(0, 0, 0, 0.1).
Solució:
@mixin box-shadow($shadow) {
-webkit-box-shadow: $shadow;
-moz-box-shadow: $shadow;
-ms-box-shadow: $shadow;
box-shadow: $shadow;
}
.card {
@include box-shadow(0 4px 8px rgba(0, 0, 0, 0.1));
}Conclusió
En aquest tema, hem après els conceptes bàsics de Sass, incloent-hi variables, anidament, mixins, partials, imports i herència. Aquests conceptes et permetran escriure CSS de manera més eficient i mantenible. En el següent tema, explorarem els conceptes bàsics de Less, un altre preprocessador CSS popular.
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
