Cas concret : garder un design cohérent sur plusieurs composants
Imaginons un mini design system : une couleur principale, un rayon d'arrondi, et des espacements.
L'objectif est que boutons, cartes et badges restent cohérents.
SCSS :
// Variables "design"
$primary: #7aa7ff;
$radius: 12px;
$space-1: 8px;
$space-2: 12px;
$space-3: 16px;
.btn {
background: $primary;
color: white;
padding: $space-2 $space-3;
border-radius: $radius;
}
.card {
border: 1px solid rgba(255,255,255,.12);
border-radius: $radius;
padding: $space-3;
.card__title {
margin: 0 0 $space-1;
font-weight: 800;
}
}
.badge {
display: inline-block;
padding: 4px $space-2;
border-radius: 999px;
background: rgba($primary, .15);
color: $primary;
}
CSS généré (extrait) :
.btn {
background: #7aa7ff;
color: white;
padding: 12px 16px;
border-radius: 12px;
}
.card {
border: 1px solid rgba(255, 255, 255, 0.12);
border-radius: 12px;
padding: 16px;
}
Conseil terrain
Même sans "gros framework", le fait de centraliser quelques variables (couleurs, espacements, radius) suffit
souvent à rendre un projet beaucoup plus "pro" et maintenable.
Cas concret : modulariser pour éviter un seul fichier énorme
Un problème fréquent en CSS : tout est dans style.css, et on ne retrouve rien.
SCSS encourage une organisation en fichiers : chaque "famille" de styles dans un fichier dédié.
On verra cela en détail au Chapitre 6, mais retiens déjà l'idée.
Exemple d'organisation (aperçu) :
scss/
base/
_reset.scss
_typography.scss
components/
_buttons.scss
_cards.scss
layout/
_header.scss
_footer.scss
main.scss
Tu écris dans plusieurs fichiers, puis tu compiles vers un CSS final (souvent un seul fichier main.css).