## Bases & syntaxe
### Variables
```scss
$primary-color: #3498db;
Utilisez des variables pour gérer les couleurs, tailles et autres valeurs répétitives.
Mixins
@mixin border-radius($radius) {
-webkit-border-radius: $radius;
-moz-border-radius: $radius;
-ms-border-radius: $radius;
border-radius: $radius;
}
Créez des styles réutilisables et évitez la duplication de code.
Extend
.message {
border: 1px solid #ccc;
padding: 10px;
color: #333;
}
.success {
@extend .message;
border-color: green;
}
Réutilisez les styles d'une classe pour créer une nouvelle classe avec des modifications.
Structures de données
Lists
$colors: red, blue, yellow;
Utilisez des listes pour stocker plusieurs valeurs et accéder à leurs éléments par index.
Maps
$font-sizes: ('small': 12px, 'medium': 16px, 'large': 20px);
Utilisez des tableaux associatifs (maps) pour stocker des valeurs clés et accéder à leurs éléments par nom.
Fonctions & methodes essentielles
darken
darken($color: #3498db, $amount: 10%) {
return mix(black, $color, $amount);
}
Diminue l'intensité d'une couleur en ajoutant de la ténèbre.
lighten
lighten($color: #3498db, $amount: 10%) {
return mix(white, $color, $amount);
}
Augmente l'intensité d'une couleur en ajoutant de la lumière.
rgba
rgba($red: 255, $green: 255, $blue: 255, $alpha: 1) {
return rgb($red, $green, $blue);
}
Crée une couleur RGBA avec des valeurs de canal et d'opacité.
Patterns courants
Mixins avec paramètres par défaut
@mixin transition($property: all, $duration: .3s) {
-webkit-transition: $property $duration;
-moz-transition: $property $duration;
-ms-transition: $property $duration;
transition: $property $duration;
}
Créez des transitions avec des paramètres par défaut pour une utilisation réutilisable.
Media queries
@media (max-width: 600px) {
.menu {
display: none;
}
}
Utilisez des media queries pour créer des styles responsifs.
Operations avancées
Embedding HTML
.container {
html {
font-size: 14px;
}
body {
h1 { color: #333; }
p { color: #666; }
}
}
Incluez du contenu HTML dans vos styles pour une meilleure organisation.
Placeholder selectors
%message-shared {
border: 1px solid #ccc;
padding: 10px;
color: #333;
}
.message {
@extend %message-shared;
border-color: green;
}
Utilisez des sélecteurs de remplacement pour éviter les spécificités et permettre l'extension.
Debugging & outils
Sourcemaps
// En utilisant une configuration Webpack ou Grunt
sass --source-map
Activez les sources-maps pour le débogage des styles CSS générés par Sass.
Inspector web
Utilisez l'inspecteur web de votre navigateur pour voir et modifier directement les styles Sass.
Permet une meilleure compréhension et une vérification des styles générés.
## Bases & syntaxe
### Variables
```scss
$primary-color: #3498db;
Utilisez des variables pour gérer les couleurs, tailles et autres valeurs répétitives.
Mixins
@mixin border-radius($radius) {
-webkit-border-radius: $radius;
-moz-border-radius: $radius;
-ms-border-radius: $radius;
border-radius: $radius;
}
Créez des styles réutilisables et évitez la duplication de code.
Extend
.message {
border: 1px solid #ccc;
padding: 10px;
color: #333;
}
.success {
@extend .message;
border-color: green;
}
Réutilisez les styles d'une classe pour créer une nouvelle classe avec des modifications.
Structures de données
Lists
$colors: red, blue, yellow;
Utilisez des listes pour stocker plusieurs valeurs et accéder à leurs éléments par index.
Maps
$font-sizes: ('small': 12px, 'medium': 16px, 'large': 20px);
Utilisez des tableaux associatifs (maps) pour stocker des valeurs clés et accéder à leurs éléments par nom.
Fonctions & methodes essentielles
darken
darken($color: #3498db, $amount: 10%) {
return mix(black, $color, $amount);
}
Diminue l'intensité d'une couleur en ajoutant de la ténèbre.
lighten
lighten($color: #3498db, $amount: 10%) {
return mix(white, $color, $amount);
}
Augmente l'intensité d'une couleur en ajoutant de la lumière.
rgba
rgba($red: 255, $green: 255, $blue: 255, $alpha: 1) {
return rgb($red, $green, $blue);
}
Crée une couleur RGBA avec des valeurs de canal et d'opacité.
Patterns courants
Mixins avec paramètres par défaut
@mixin transition($property: all, $duration: .3s) {
-webkit-transition: $property $duration;
-moz-transition: $property $duration;
-ms-transition: $property $duration;
transition: $property $duration;
}
Créez des transitions avec des paramètres par défaut pour une utilisation réutilisable.
Media queries
@media (max-width: 600px) {
.menu {
display: none;
}
}
Utilisez des media queries pour créer des styles responsifs.
Operations avancées
Embedding HTML
.container {
html {
font-size: 14px;
}
body {
h1 { color: #333; }
p { color: #666; }
}
}
Incluez du contenu HTML dans vos styles pour une meilleure organisation.
Placeholder selectors
%message-shared {
border: 1px solid #ccc;
padding: 10px;
color: #333;
}
.message {
@extend %message-shared;
border-color: green;
}
Utilisez des sélecteurs de remplacement pour éviter les spécificités et permettre l'extension.
Debugging & outils
Sourcemaps
// En utilisant une configuration Webpack ou Grunt
sass --source-map
Activez les sources-maps pour le débogage des styles CSS générés par Sass.
Inspector web
Utilisez l'inspecteur web de votre navigateur pour voir et modifier directement les styles Sass.
Permet une meilleure compréhension et une vérification des styles générés.