8.2 — Variables & options
⏱️ TL;DR — Des centaines de variables pilotent l’apparence : couleurs (
$primary…), typo ($font-family-base,$font-size-base,$line-height-base), rayons ($border-radius), espacements ($spacer). Les options globales$enable-*(booléens) activent/désactivent des comportements : ombres, gradients, transitions, coins arrondis, RFS…
🎯 Objectifs
- Changer couleurs, typographie et rayons.
- Activer/désactiver des options globales.
Variables courantes
@import "bootstrap/scss/functions";
// Couleurs
$primary: #7952b3;
$success: #1aae6f;
$danger: #e63946;
// Typographie
$font-family-base: "Inter", system-ui, sans-serif;
$font-size-base: 1rem; // = 16px
$line-height-base: 1.6;
$headings-font-weight: 700;
// Formes & espacement
$border-radius: .5rem;
$border-radius-lg: 1rem;
$spacer: 1rem; // base de l'échelle m-*/p-*
@import "bootstrap/scss/variables";
@import "bootstrap/scss/bootstrap";Changer $primary recolore automatiquement boutons, liens, alertes, badges… car tout dérive de cette variable.
Options globales $enable-*
$enable-shadows: true; // active les ombres sur les composants
$enable-gradients: true; // dégradés subtils
$enable-rounded: true; // coins arrondis (false = tout carré)
$enable-transitions: true; // animations
$enable-negative-margins: true; // active les classes m-n1…
$enable-rfs: true; // responsive font sizing
$enable-validation-icons: true; // icônes dans les champs validés| Option | Effet si false |
|---|---|
$enable-rounded | tous les coins deviennent carrés |
$enable-shadows | pas d’ombres sur les composants |
$enable-gradients | pas de dégradés |
$enable-transitions | pas d’animations |
Exemple : un thème « flat & carré »
$enable-rounded: false;
$enable-shadows: false;
$enable-gradients: false;
$primary: #111;⚠️ Piège — Modifier une couleur via
$primarychange bien le boutonbtn-primary, mais les couleurs subtle/emphasis (bg-primary-subtle) dérivent de la map$theme-colors: pour les régénérer correctement, changez la couleur avant l’import des maps (voir 8.3).
💡 Pour un dev React — Ces
$enable-*sont un moyen rapide d’adapter Bootstrap à un design system minimaliste (flat design) sans réécrire de CSS. Un seul$enable-rounded: falseet toute l’UI devient anguleuse.
✏️ Exercices
- Rendre toute l’interface anguleuse (sans coins arrondis).
✅ Solution
$enable-rounded: false; avant l’import de variables.
- Changer la police de base pour Inter.
✅ Solution
$font-family-base: "Inter", system-ui, sans-serif;.
🧠 Quiz de révision
1. Quelle variable pilote la couleur principale ?
$primary.
2. Quelle option désactive tous les coins arrondis ?
$enable-rounded: false.
3. Quelle variable règle la taille de police de base ?
$font-size-base.
4. Que fait $enable-shadows: true ?
$enable-shadows: true ?Active les ombres sur les composants.
5. Sur quelle variable repose l’échelle d’espacement ?
$spacer.
Chapitre suivant : 8.3 — Les maps (couleurs, breakpoints)