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-color
amb el valor#3498db
. - Defineix una variable
$font-stack
amb 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-shadow
que accepti un paràmetre$shadow
. - Aplica aquest mixin a un element
.card
amb 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