📚 Cours SCSS (Sass) 📍 Chapitre 15 / 21

Typographie avec SCSS

La typographie structure la lecture et influence directement l'ergonomie d'un site. Avec SCSS, tu peux construire une échelle typographique cohérente, centraliser les polices, gérer les graisses, les interlignes et rendre le texte responsive sans duplication. Ce chapitre te montre comment passer d'un CSS "au coup par coup" à une typographie maîtrisée et professionnelle.

Objectifs du chapitre

  • Structurer les polices et tailles avec des variables et des maps.
  • Mettre en place une échelle typographique cohérente.
  • Gérer font-size, line-height et font-weight.
  • Rendre la typographie responsive avec SCSS.
  • Appliquer des bonnes pratiques professionnelles.
À retenir

Une bonne typographie n'est pas une suite de tailles arbitraires : c'est un système cohérent basé sur des règles simples.

Explications théoriques détaillées

Pourquoi centraliser la typographie ?

Sans système typographique, tu finis souvent avec : 14px, 15px, 16px, 17px un peu partout. Cela rend le design incohérent et les ajustements difficiles.

Conseil terrain

En équipe, une typographie centralisée évite les débats permanents sur "on met quelle taille ici ?".

Les éléments clés de la typographie

  • Font family : la police (ou pile de polices).
  • Font size : la taille du texte.
  • Line height : l'interligne (lisibilité).
  • Font weight : la graisse (regular, bold, etc.).
À retenir

La lisibilité dépend souvent plus du line-height que de la taille du texte.

Exemples simples

Variables typographiques de base

SCSS :

SCSS
$font-base: "Inter", system-ui, sans-serif;
$font-heading: "Montserrat", system-ui, sans-serif;

$font-size-base: 16px;
$line-height-base: 1.6;

body {
  font-family: $font-base;
  font-size: $font-size-base;
  line-height: $line-height-base;
}

Gestion des titres avec des variables

SCSS :

SCSS
$h1-size: 32px;
$h2-size: 24px;
$h3-size: 20px;

h1 { font-size: $h1-size; }
h2 { font-size: $h2-size; }
h3 { font-size: $h3-size; }
Limite

Cette approche fonctionne, mais devient vite lourde quand le système grandit. Les maps offrent une solution plus propre.

Exemples concrets et professionnels

Cas pro 1 : échelle typographique avec map

On définit une échelle de tailles cohérente, puis on la réutilise partout.

SCSS :

SCSS
$font-scale: (
  xs: 12px,
  sm: 14px,
  md: 16px,
  lg: 20px,
  xl: 28px,
  xxl: 36px
);

@function fs($key) {
  @return map-get($font-scale, $key);
}

body {
  font-size: fs(md);
}

h1 { font-size: fs(xxl); }
h2 { font-size: fs(xl); }
h3 { font-size: fs(lg); }
small { font-size: fs(sm); }
À retenir

Une échelle typographique rend le design plus harmonieux et plus prévisible.

Cas pro 2 : line-height adapté au contexte

Le même interligne ne convient pas à un paragraphe et à un titre.

SCSS :

SCSS
$line-heights: (
  body: 1.6,
  heading: 1.2,
  tight: 1.1
);

@function lh($key) {
  @return map-get($line-heights, $key);
}

body {
  line-height: lh(body);
}

h1, h2, h3 {
  line-height: lh(heading);
}

Cas pro 3 : typographie responsive

On adapte les tailles de texte selon la largeur de l'écran.

SCSS :

SCSS
$breakpoints: (
  md: 768px,
  lg: 1024px
);

@mixin mq($bp) {
  @media (min-width: map-get($breakpoints, $bp)) {
    @content;
  }
}

h1 {
  font-size: fs(xl);

  @include mq(md) {
    font-size: fs(xxl);
  }
}

CSS généré :

CSS
h1 {
  font-size: 28px;
}

@media (min-width: 768px) {
  h1 {
    font-size: 36px;
  }
}
Conseil terrain

Mieux vaut ajuster légèrement les tailles que multiplier les variantes extrêmes.

Bonnes pratiques

  • Définir une échelle typographique claire dès le début du projet.
  • Centraliser tailles, interlignes et graisses dans des maps.
  • Limiter le nombre de tailles réellement utilisées.
  • Privilégier la lisibilité au "design spectaculaire".
  • Tester la lecture sur mobile et écran large.
À retenir

Une typographie bien pensée se fait oublier : elle facilite la lecture.

Erreurs courantes

Erreur 1 : trop de tailles différentes

Trop de tailles casse la hiérarchie visuelle et complique la maintenance. Une échelle avec 4-6 niveaux suffit généralement pour un projet web.

Erreur 2 : oublier le line-height

Un texte trop serré fatigue rapidement l'œil, surtout sur mobile. Prévois toujours un line-height approprié selon le contexte.

Erreur 3 : gérer la typographie composant par composant

Sans système global, chaque composant devient un cas particulier. Résultat : incohérence visuelle et maintenance difficile.

Résumé du chapitre

Ce que vous avez appris
SCSS permet de structurer une typographie cohérente et maintenable.
Les maps facilitent la gestion des tailles, interlignes et graisses.
La typographie responsive améliore le confort de lecture sur tous les écrans.
Un bon système typographique réduit la duplication et les décisions arbitraires.

Prochain chapitre : Responsive design avec SCSS

Dans le prochain chapitre, nous verrons le responsive design avec SCSS : organisation des breakpoints, patterns responsives et bonnes pratiques pour tous les écrans.

  • Gestion des breakpoints avec maps et mixins
  • Patterns responsives courants (mobile-first, desktop-first)
  • Grilles responsive avec SCSS
  • Optimisation des performances pour mobile