Logo
  • Choisir une police pour le Web
  • Charger une police via Google Fonts
  • La taille du texte : font-size et les unités
  • Les propriétés de mise en forme du texte
  • Améliorer la lisibilité : line-height et letter-spacing
  • La propriété raccourcie : font
  • Bonnes pratiques typographiques

Html5, les bases

2 jours • Créer et modifier des pages Web en HTML

Mon plan d'action

Jour 1 : Construire sa page en Html

Introduction

  • hello html5

Mise en route

  • introduction html
  • creation page html

Les balises HTML

  • insertion image
  • definition lien
  • creation tableau
  • creation formulaire
  • insertion audio video

Jour 2 : Gérer la forme avec les feuilles de styles CSS

Mise en route

  • css integration
  • css selecteur

Les propriétés CSS

  • css mise en couleur
  • css gestion texte
  • css marges espacements

Aller plus loin

  • publication site
← Retour à la formation

Bonjour
& bienvenue !

Veuillez entrer le mot de passe pour accéder au contenu de la formation.

(Mon email si vous avez une question)

La gestion du texte en CSS

Les principales propriétés de mise en forme typographique

Choisir une police pour le Web

Les familles génériques : serif (empattements, ex : Times), sans-serif (sans empattements, ex : Arial), monospace (largeur fixe, ex : Courier).

Par défaut, le navigateur n’affiche que les polices installées sur l’ordinateur du visiteur (Arial, Times, Georgia…). Pour utiliser une police personnalisée, il faut la charger depuis une source externe. Le choix typographique a un impact majeur sur la perception et la lisibilité de votre site. Une police Web (web font) est une police chargée depuis un serveur distant et affichée dans le navigateur du visiteur, même s’il ne l’a pas installée sur sa machine.

La valeur après la virgule (sans-serif, serif, monospace) est la police de repli à ne pas oublier : si la police personnalisée ne se charge pas, le navigateur utilisera une police système de cette famille.

/* Application d'une police personnalisée */
h1 {
  font-family: "Poppins", sans-serif;
}

p {
  font-family: "Lora", serif;
}

Charger une police via Google Fonts

Google Fonts héberge plus de 1 700 polices gratuites et libres de droits, optimisées pour le Web.

La méthode la plus simple pour intégrer une police Web : rendez-vous sur fonts.google.com, choisissez votre police, sélectionnez les graisses souhaitées, puis copiez le code fourni.

Étape 1 : le lien dans le head du HTML

<head>
  <meta charset="UTF-8">
  <title>Ma page</title>
  <!-- Je charge la police Roboto en graisses 400 (normal) et 700 (bold) -->
  <link href="https://fonts.googleapis.com/css2?family=Roboto:wght@400;700&display=swap" rel="stylesheet">
</head>

Étape 2 : l’utilisation dans le CSS

/* J'applique la police chargée aux éléments souhaités */
body {
  font-family: "Roboto", sans-serif;
}

h1, h2, h3 {
  font-family: "Roboto", sans-serif;
  font-weight: 700;    /* graisse bold */
}
Limitez-vous à 2 polices maximum (une pour les titres, une pour le texte courant) et à 3-4 graisses au total. Chaque police et chaque graisse ajoutent un fichier à télécharger, ce qui ralentit le chargement de la page.

Alternative : charger une police avec @font-face

Si vous disposez du fichier de la police (formats .woff2, .woff), vous pouvez l’héberger directement sur votre serveur sans dépendre de Google :

/* Je déclare ma police en début de CSS */
@font-face {
  font-family: "MaPolice";
  src: url("fonts/ma-police.woff2") format("woff2"),
       url("fonts/ma-police.woff") format("woff");
  font-weight: 400;
  font-display: swap;    /* affiche un texte de repli en attendant le chargement */
}

/* Je l'utilise ensuite normalement */
body {
  font-family: "MaPolice", sans-serif;
}
Le format .woff2 est le standard actuel pour les polices Web : il offre la meilleure compression. Le site Font Squirrel (fontsquirrel.com) permet de convertir n’importe quelle police au format woff2.

La taille du texte : font-size et les unités

1rem = la taille de police par défaut du navigateur, soit 16px dans la plupart des cas.

La propriété font-size définit la taille du texte. Le choix de l’unité est important :

UnitéTypeRéférenceUsage
pxFixeUn pixel écranBordures, petits ajustements ponctuels
remRelativeTaille de police de l'élément racine (html)Tailles de texte, marges — unité recommandée
emRelativeTaille de police de l'élément parentEspacements relatifs au texte (padding d'un bouton)
%RelativeValeur de la propriété parenteLargeurs, hauteurs de ligne
vw / vhRelativeLargeur / hauteur de la fenêtre du navigateurTitres adaptatifs, sections plein écran
/* Utilisation recommandée : rem pour les tailles de texte */
body {
  font-size: 1rem;        /* 16px par défaut */
}

h1 {
  font-size: 2.5rem;      /* 40px (2.5 × 16) */
}

h2 {
  font-size: 1.75rem;     /* 28px */
}

small {
  font-size: 0.875rem;    /* 14px */
}
Pourquoi rem plutôt que px ? Si un visiteur augmente la taille de police par défaut de son navigateur (pour des raisons d’accessibilité), les tailles en rem s’adapteront automatiquement. Les tailles en px resteront fixes.

Les propriétés de mise en forme du texte

La graisse : font-weight

p {
  font-weight: normal;       /* ou 400 — épaisseur standard */
}

strong, h1 {
  font-weight: bold;         /* ou 700 — gras */
}

.sous-titre {
  font-weight: 300;          /* light — fin, léger */
}
Les valeurs numériques (100 à 900) offrent plus de nuances que normal et bold, à condition que la police chargée propose ces graisses.

Le style : font-style

em {
  font-style: italic;        /* italique */
}

.droit {
  font-style: normal;        /* annule un italique hérité */
}

La transformation : text-transform

.majuscules {
  text-transform: uppercase;     /* TOUT EN CAPITALES */
}

.premiere-lettre {
  text-transform: capitalize;    /* Première Lettre De Chaque Mot */
}

.minuscules {
  text-transform: lowercase;     /* tout en minuscules */
}

La décoration : text-decoration

a {
  text-decoration: underline;          /* souligné (par défaut sur les liens) */
}

a.discret {
  text-decoration: none;               /* supprime le soulignement */
}

.barre {
  text-decoration: line-through;       /* texte barré */
}

L’alignement : text-align

.centre {
  text-align: center;
}

.droite {
  text-align: right;
}

p {
  text-align: left;           /* valeur par défaut */
}

.justifie {
  text-align: justify;        /* aligne les deux côtés — à utiliser avec prudence */
}
Le texte justifié (text-align: justify) peut créer des espaces irréguliers entre les mots, surtout en français avec ses mots longs. Privilégiez left pour le texte courant.

Améliorer la lisibilité : line-height et letter-spacing

Un texte lisible n’est pas seulement une question de police et de taille. L’espacement entre les lignes et entre les lettres a un impact considérable sur le confort de lecture.

La hauteur de ligne : line-height

L’espace entre les lignes de texte (l’interlignage) est l’un des réglages les plus importants pour la lisibilité. La valeur recommandée pour le texte courant se situe entre 1.5 et 1.8.

body {
  line-height: 1.6;     /* 1.6 fois la taille de la police — bonne lisibilité */
}

h1 {
  line-height: 1.2;     /* plus serré sur les titres — évite les grands espaces */
}
Exprimez line-height sans unité (1.6 plutôt que 1.6rem) : la valeur sera alors relative à la taille de police de chaque élément, ce qui évite les surprises en cas de changement de taille.

L’espacement des lettres : letter-spacing

.titre-espace {
  letter-spacing: 2px;       /* écarte les lettres — utile sur les titres en capitales */
}

.compact {
  letter-spacing: -0.5px;    /* resserre les lettres — subtil, sur les gros titres */
}

L’espacement des mots : word-spacing

.aere {
  word-spacing: 0.2rem;      /* écarte légèrement les mots */
}

La propriété raccourcie : font

La propriété font permet de déclarer plusieurs propriétés typographiques en une seule ligne. L’ordre des valeurs est strict :

La notation raccourcie est compacte mais moins lisible. Pour un code facile à maintenir, les propriétés séparées sont souvent préférables, surtout au début.
/* Syntaxe raccourcie */
h1 {
  font: italic bold 2.5rem/1.2 "Poppins", sans-serif;
  /*    style  weight  size/line-height  family */
}

/* Équivalent en propriétés séparées */
h1 {
  font-style: italic;
  font-weight: bold;
  font-size: 2.5rem;
  line-height: 1.2;
  font-family: "Poppins", sans-serif;
}

Bonnes pratiques typographiques

  • 2 polices maximum par site : une pour les titres, une pour le texte courant. Au-delà, la page perd en cohérence et en performance
  • Utilisez rem pour les tailles de texte — vos pages resteront accessibles et adaptatives
  • line-height: 1.5 minimum pour le texte courant — en dessous, les lignes se chevauchent visuellement et la lecture devient fatigante
  • Évitez le texte justifié (text-align: justify) en français — les espaces inter-mots irréguliers nuisent à la lisibilité
  • Ne chargez que les graisses nécessaires : chaque graisse ajoutée (light, regular, bold, extra-bold…) est un fichier supplémentaire à télécharger
  • Ajoutez font-display: swap quand vous chargez des polices personnalisées — le texte reste lisible pendant le chargement de la police au lieu d’être invisible
  • Pensez à la hiérarchie visuelle : vos titres, sous-titres et texte courant doivent être clairement distinguables par leur taille, leur graisse ou les deux

Exemple d’échelle typographique cohérente

/* Une échelle simple et harmonieuse */
:root {
  --texte-xs: 0.75rem;     /* 12px — mentions légales, légendes */
  --texte-sm: 0.875rem;    /* 14px — texte secondaire */
  --texte-base: 1rem;      /* 16px — texte courant */
  --texte-lg: 1.25rem;     /* 20px — introductions, chapeaux */
  --texte-xl: 1.5rem;      /* 24px — sous-titres */
  --texte-2xl: 2rem;       /* 32px — titres de section */
  --texte-3xl: 2.5rem;     /* 40px — titre principal */
}

body {
  font-family: "Lora", serif;
  font-size: var(--texte-base);
  line-height: 1.6;
}

h1 { font-size: var(--texte-3xl); line-height: 1.2; }
h2 { font-size: var(--texte-2xl); line-height: 1.3; }
h3 { font-size: var(--texte-xl); line-height: 1.4; }
L’outil Type Scale (typescale.com) génère une échelle typographique cohérente à partir d’une taille de base et d’un ratio.
exercice

Mise en pratique

Objectifs : Charger une police personnalisée, maîtriser les propriétés typographiques et améliorer la lisibilité d’une page.

Dossier : JOUR 2 - CSS > 03-Texte

  • ex-texte01.html (page avec du contenu structuré, sans style)
  • style.css (fichier CSS vide à compléter)

Consignes :

  • Étape 01 - Police personnalisée : Choisissez un ou deux polices sur Google Fonts (une pour les titres + éventuellement une pour le texte). Intégrez-les dans le head du HTML puis appliquez-les en CSS. Vérifiez que la police de repli (sans-serif ou serif) est bien indiquée.

  • Étape 02 — Mise en forme : Stylisez les titres (h1, h2, h3) avec des tailles en rem, une graisse adaptée et un line-height serré (1.2). Stylisez le texte courant avec un line-height de 1.6. Passez la navigation en majuscules (text-transform).

  • Étape 03 — Lisibilité : Ajustez le letter-spacing sur un titre en capitales. Comparez un paragraphe en text-align: justify et un en text-align: left pour évaluer la lisibilité.

Durée : 40 min

Ressources & références

  • Developper Mozilla | font-familyArticle
  • Developper Mozilla | Polices webArticle
  • Developper Mozilla | Les unités CSSArticle
  • Google Fonts | Bibliothèque de polices gratuitesOutil
  • Adobe Fonts | Polices pour abonnés AdobeOutil
  • Fontsquirrel | Polices libres et générateur @font-faceOutil
  • Type Scale | Calculateur d'échelle typographiqueOutil
  • Hipsum | Générateur de faux texteOutil
← Précédent La gestion de la couleur en CSS Suivant → Les marges et espacements en CSS
Retour à l'accueil de la formation Html5, les bases