Accueil
M1 | Les Fondamentaux techniques du web M2 | Les CMS avancés M3 | Les Produits UX UI M4 | Prototypage Avancé M5 | Intégration avancée & Projet Fil Rouge Bonus Formation
A propos Me Connecter Créer un compte
LMS Pro LMS Pro
  • Accueil
  • Formation Production Web & Interface
    • Module 1 — Fondamentaux techniques du web
    • Module 2 — CMS avancés
    • Module 3 — UX & UI Produit
    • Module 4 — Prototypage avancé
    • Module 5 — Intégration avancée & projet fil rouge
    • Module Bonus
  • A propos
  • Se connecter
  • S'enregistrer
Skip to content

wp-pro-test

LMS Pro — Votre plateforme pour apprendre, évoluer, réussir

Formations Professionnelle

Designer UX-UI

La mise en forme CSS

Posted on 22 janvier 202623 janvier 2026 By Frédéric Moitry Aucun commentaire sur La mise en forme CSS
Module 1 — Fondamentaux techniques du web

La mise en forme CSS

Découvrez la puissance des feuilles de style CSS pour transformer vos pages web ! Cette leçon vous guidera dans l’univers des styles en cascade, des variables modernes et des animations qui donneront vie à vos interfaces utilisateur.

Module : Module 1 : Fondamentaux techniques du web

Niveau : Débutant

Durée : 20 minutes

Prérequis : Aucun

Objectifs pédagogiques

  • Expliquer le fonctionnement des feuilles de style en cascade et leur priorité
  • Créer des styles inline et utiliser différents types de sélecteurs CSS
  • Maîtriser les variables CSS (design tokens) pour une cohérence visuelle
  • Implémenter des mises en page modernes avec Flexbox et Grid
  • Concevoir des animations UI avec les transitions et keyframes

Le principe de la cascade

CSS signifie Cascading Style Sheets (Feuilles de Style en Cascade). Le terme « cascade » fait référence au mécanisme de priorité qui détermine quels styles s’appliquent lorsque plusieurs règles ciblent le même élément. Cette cascade suit un ordre précis : les styles inline ont la priorité la plus élevée, suivis des IDs, des classes, puis des éléments. Comprendre ce système est essentiel pour maîtriser CSS et éviter les conflits de styles inattendus.

Types de sélecteurs essentiels

Les sélecteurs sont la clé pour cibler précisément les éléments HTML. Le sélecteur d’élément (p, h1, div) cible tous les éléments de ce type. Le sélecteur de classe (.ma-classe) permet de styliser plusieurs éléments partageant la même classe. Le sélecteur d’ID (#mon-id) cible un élément unique. Les sélecteurs combinés permettent des ciblages plus précis : .container p cible tous les paragraphes dans un conteneur, tandis que h1 + p cible le premier paragraphe suivant un titre h1.

Point clé : La spécificité CSS se calcule selon cette formule : inline (1000), IDs (100), classes (10), éléments (1). Plus la valeur est élevée, plus le style a de priorité.

À retenir

Les sélecteurs CSS permettent de cibler précisément les éléments, et la cascade détermine quel style s’applique en cas de conflit selon un système de priorité basé sur la spécificité.

? Mini-exercice : Maîtriser les sélecteurs

Appliquez différents styles en utilisant les sélecteurs d’élément, de classe et d’ID pour comprendre leur priorité et leur fonctionnement.

Code de référence :


<div class="container">
  <h1 id="titre-principal">Titre principal</h1>
  <p class="texte-intro">Paragraphe d'introduction</p>
  <p>Paragraphe normal</p>
  <div class="card">
    <h2>Sous-titre</h2>
    <p class="texte-intro">Autre paragraphe</p>
  </div>
</div>
/* Sélecteur d'élément - faible spécificité */
p {
  color: gray;
  font-size: 16px;
}

/* Sélecteur de classe - spécificité moyenne */
.texte-intro {
  color: blue;
  font-weight: bold;
}

/* Sélecteur d'ID - forte spécificité */
#titre-principal {
  color: red;
  font-size: 32px;
}

/* Sélecteur combiné */
.container h2 {
  color: green;
  border-bottom: 2px solid green;
}



Result
● Prêt
Monaco Editor v0.45

Comprendre les variables CSS

Les variables CSS, officiellement appelées propriétés personnalisées, révolutionnent la façon dont nous gérons les valeurs répétitives dans nos feuilles de style. Elles se définissent avec la syntaxe –nom-variable et s’utilisent avec la fonction var(). Ces variables permettent de centraliser les valeurs importantes comme les couleurs, les espacements et les tailles de police, facilitant ainsi la maintenance et les modifications globales. Contrairement aux variables des préprocesseurs, les variables CSS sont dynamiques et peuvent être modifiées en temps réel via JavaScript.

Les design tokens en pratique

Les design tokens sont une approche systématique pour stocker les décisions de design sous forme de variables réutilisables. Ils créent un langage commun entre designers et développeurs en définissant précisément les couleurs primaires, secondaires, les espacements, les typographies et les ombres. Cette approche garantit la cohérence visuelle sur l’ensemble d’un projet et facilite les évolutions du design system. En CSS, les design tokens s’implémentent parfaitement avec les variables CSS, créant une architecture scalable et maintenable.

Point clé : Les variables CSS héritent de leur élément parent et peuvent être redéfinies dans des contextes spécifiques, offrant une flexibilité unique pour créer des thèmes adaptatifs.

À retenir

Les variables CSS transforment la maintenance des styles en centralisant les valeurs et en permettant des modifications globales instantanées, formant la base des design systems modernes.

? Mini-exercice : Créer un système de couleurs

Définissez des variables CSS pour créer une palette de couleurs cohérente et appliquez-la à différents composants d’interface.

Code de référence :


<div class="theme-demo">
  <header class="header">
    <h1>Mon Site Web</h1>
  </header>
  <main>
    <div class="card primary">
      <h2>Carte principale</h2>
      <p>Contenu important</p>
    </div>
    <div class="card secondary">
      <h2>Carte secondaire</h2>
      <p>Contenu complémentaire</p>
    </div>
  </main>
</div>
:root {
  /* Design tokens - Couleurs */
  --color-primary: #667eea;
  --color-secondary: #f093fb;
  --color-background: #f8fafc;
  --color-text: #2d3748;
  --color-text-light: #718096;
  
  /* Design tokens - Espacements */
  --spacing-sm: 8px;
  --spacing-md: 16px;
  --spacing-lg: 24px;
  
  /* Design tokens - Bordures */
  --border-radius: 8px;
}

.theme-demo {
  background: var(--color-background);
  color: var(--color-text);
  padding: var(--spacing-lg);
  min-height: 100vh;
}

.header {
  background: var(--color-primary);
  color: white;
  padding: var(--spacing-md);
  border-radius: var(--border-radius);
  margin-bottom: var(--spacing-lg);
}

.card {
  padding: var(--spacing-md);
  margin-bottom: var(--spacing-md);
  border-radius: var(--border-radius);
  box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}

.card.primary {
  background: var(--color-primary);
  color: white;
}

.card.secondary {
  background: var(--color-secondary);
  color: white;
}



Result
● Prêt
Monaco Editor v0.45

Concepts fondamentaux de Flexbox

Flexbox (Flexible Box Layout) est un système de mise en page unidimensionnel qui excelle dans la distribution d’espace et l’alignement d’éléments dans un conteneur. Il fonctionne selon deux axes : l’axe principal (main axis) défini par flex-direction, et l’axe transversal (cross axis) perpendiculaire. Le conteneur parent devient un « flex container » avec display: flex, et ses enfants directs deviennent automatiquement des « flex items ». Cette approche résout élégamment des problèmes classiques comme le centrage vertical, la répartition équitable d’espace, ou l’adaptation automatique de tailles d’éléments.

Propriétés essentielles pour maîtriser Flexbox

Les propriétés clés du conteneur incluent justify-content pour l’alignement sur l’axe principal, align-items pour l’axe transversal, et flex-direction pour définir l’orientation. Sur les éléments enfants, flex-grow contrôle la capacité d’expansion, flex-shrink la contraction, et flex-basis la taille de base. La propriété raccourcie flex combine ces trois valeurs. Ces propriétés offrent un contrôle précis sur le comportement adaptatif des éléments, permettant de créer des interfaces qui s’ajustent naturellement à différentes tailles d’écran.

Point clé : Flexbox est idéal pour les composants d’interface comme les barres de navigation, les cartes ou les formulaires, où vous devez aligner et distribuer des éléments de manière flexible.

À retenir

Flexbox simplifie l’alignement et la distribution d’éléments dans une dimension, offrant un contrôle puissant pour créer des interfaces adaptatives et bien structurées.

? Mini-exercice : Navigation flexible

Créez une barre de navigation responsive avec Flexbox qui centre les éléments et s’adapte automatiquement à la largeur disponible.

Code de référence :


<nav class="navbar">
  <div class="nav-brand">Mon Site</div>
  <ul class="nav-menu">
    <li><a href="#">Accueil</a></li>
    <li><a href="#">À propos</a></li>
    <li><a href="#">Services</a></li>
    <li><a href="#">Contact</a></li>
  </ul>
  <div class="nav-actions">
    <button>Connexion</button>
  </div>
</nav>

<div class="content">
  <div class="card-container">
    <div class="card">Carte 1</div>
    <div class="card">Carte 2</div>
    <div class="card">Carte 3</div>
  </div>
</div>
.navbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 1rem 2rem;
  background: #667eea;
  color: white;
}

.nav-brand {
  font-size: 1.5rem;
  font-weight: bold;
}

.nav-menu {
  display: flex;
  list-style: none;
  gap: 2rem;
  margin: 0;
  padding: 0;
}

.nav-menu a {
  color: white;
  text-decoration: none;
  transition: opacity 0.2s;
}

.nav-menu a:hover {
  opacity: 0.8;
}

.nav-actions button {
  background: white;
  color: #667eea;
  border: none;
  padding: 0.5rem 1rem;
  border-radius: 4px;
  cursor: pointer;
}

.content {
  padding: 2rem;
}

.card-container {
  display: flex;
  gap: 1rem;
  flex-wrap: wrap;
}

.card {
  flex: 1;
  min-width: 200px;
  padding: 2rem;
  background: #f8fafc;
  border-radius: 8px;
  text-align: center;
  box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}



Result
● Prêt
Monaco Editor v0.45

La puissance de CSS Grid

CSS Grid est un système de mise en page bidimensionnel qui excelle dans la création de layouts complexes. Contrairement à Flexbox qui gère une dimension, Grid permet de contrôler simultanément les lignes et les colonnes, créant une grille structurée. Il définit des zones explicites où placer les éléments, offrant un contrôle précis sur l’espacement et l’alignement. Grid est particulièrement adapté pour les mises en page principales des sites web, comme les dispositions en colonnes, les galeries d’images, ou les interfaces dashboard complexes.

Syntaxe et propriétés fondamentales

Le conteneur Grid se définit avec display: grid, puis grid-template-columns et grid-template-rows pour structurer la grille. Les propriétés grid-gap (maintenant gap) contrôlent l’espacement entre les éléments. Les enfants peuvent être placés explicitement avec grid-column et grid-row, ou utiliser grid-area pour occuper des zones nommées. La fonction repeat() et les unités fr (fraction) simplifient la création de grilles répétitives et flexibles. Ces outils permettent de créer des layouts sophistiqués avec un code CSS remarquablement concis.

Point clé : Utilisez Grid pour la structure générale de votre page (header, main, sidebar, footer) et Flexbox pour l’alignement des composants à l’intérieur de ces zones.

À retenir

CSS Grid révolutionne les mises en page web en permettant un contrôle bidimensionnel précis, idéal pour créer des structures complexes avec un code simple et maintenable.

? Mini-exercice : Layout de page moderne

Créez une mise en page complète avec header, sidebar, contenu principal et footer en utilisant CSS Grid pour une structure claire et responsive.

Code de référence :


<div class="page-layout">
  <header class="header">
    <h1>En-tête du site</h1>
  </header>
  
  <aside class="sidebar">
    <h3>Navigation</h3>
    <ul>
      <li>Accueil</li>
      <li>Articles</li>
      <li>Contact</li>
    </ul>
  </aside>
  
  <main class="main-content">
    <h2>Contenu principal</h2>
    <p>Ceci est la zone de contenu principale de la page.</p>
    
    <div class="content-grid">
      <div class="card">Article 1</div>
      <div class="card">Article 2</div>
      <div class="card">Article 3</div>
      <div class="card">Article 4</div>
    </div>
  </main>
  
  <footer class="footer">
    <p>Pied de page © 2024</p>
  </footer>
</div>
.page-layout {
  display: grid;
  grid-template-areas: 
    "header header"
    "sidebar main"
    "footer footer";
  grid-template-columns: 250px 1fr;
  grid-template-rows: auto 1fr auto;
  min-height: 100vh;
  gap: 1rem;
}

.header {
  grid-area: header;
  background: #667eea;
  color: white;
  padding: 1rem;
  text-align: center;
}

.sidebar {
  grid-area: sidebar;
  background: #f8fafc;
  padding: 1rem;
  border-right: 1px solid #e2e8f0;
}

.sidebar ul {
  list-style: none;
  padding: 0;
}

.sidebar li {
  padding: 0.5rem;
  margin: 0.25rem 0;
  background: white;
  border-radius: 4px;
  cursor: pointer;
  transition: background 0.2s;
}

.sidebar li:hover {
  background: #e2e8f0;
}

.main-content {
  grid-area: main;
  padding: 1rem;
}

.content-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 1rem;
  margin-top: 1rem;
}

.card {
  background: #f093fb;
  color: white;
  padding: 2rem;
  border-radius: 8px;
  text-align: center;
  font-weight: bold;
}

.footer {
  grid-area: footer;
  background: #2d3748;
  color: white;
  text-align: center;
  padding: 1rem;
}



Result
● Prêt
Monaco Editor v0.45

Transitions : animations fluides et naturelles

Les transitions CSS permettent d’animer automatiquement les changements de propriétés CSS, créant des interfaces plus fluides et agréables. La propriété transition définit quelles propriétés animer, la durée, la fonction de timing et le délai. Les fonctions d’accélération comme ease-in-out créent des mouvements naturels qui imitent la physique réelle. Les transitions s’appliquent parfaitement aux interactions utilisateur : survol de boutons, changements d’état, ou révélation de contenus. Elles améliorent significativement l’expérience utilisateur en fournissant un feedback visuel cohérent.

Keyframes et micro-interactions avancées

Les keyframes (@keyframes) offrent un contrôle total sur les animations en définissant des étapes précises. Elles permettent de créer des animations complexes, cycliques, ou séquentielles qui ne dépendent pas d’interactions utilisateur. Les micro-interactions, ces petites animations subtiles, guident l’attention, confirment les actions, et rendent l’interface vivante. Elles incluent les effets de chargement, les confirmations visuelles, ou les animations d’apparition. Bien dosées, ces animations renforcent la hiérarchie visuelle et créent une expérience mémorable sans surcharger l’interface.

Point clé : Respectez le principe de parcimonie : les animations doivent servir l’expérience utilisateur, pas la distraire. Privilégiez des durées courtes (200-300ms) pour les interactions.

À retenir

Les animations CSS, utilisées avec modération, transforment une interface statique en expérience fluide et engageante, guidant naturellement l’utilisateur dans ses interactions.

? Mini-exercice : Boutons animés

Créez des boutons interactifs avec des transitions au survol et une animation de pulse pour attirer l’attention sur l’action principale.

Code de référence :


<div class="button-demo">
  <button class="btn btn-primary">Bouton Principal</button>
  <button class="btn btn-secondary">Bouton Secondaire</button>
  <button class="btn btn-pulse">Action Importante</button>
  
  <div class="card-animated">
    <h3>Carte Interactive</h3>
    <p>Survolez cette carte pour voir l'animation</p>
  </div>
</div>
@keyframes pulse {
  0% { transform: scale(1); }
  50% { transform: scale(1.05); }
  100% { transform: scale(1); }
}

@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.button-demo {
  padding: 2rem;
  display: flex;
  flex-direction: column;
  gap: 1rem;
  align-items: center;
}

.btn {
  padding: 0.75rem 1.5rem;
  border: none;
  border-radius: 8px;
  font-size: 1rem;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.3s ease;
  position: relative;
  overflow: hidden;
}

.btn-primary {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color: white;
}

.btn-primary:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 25px rgba(102, 126, 234, 0.4);
}

.btn-secondary {
  background: #f8fafc;
  color: #667eea;
  border: 2px solid #667eea;
}

.btn-secondary:hover {
  background: #667eea;
  color: white;
  transform: scale(1.05);
}

.btn-pulse {
  background: linear-gradient(135deg, #f093fb 0%, #f5576c 100%);
  color: white;
  animation: pulse 2s ease-in-out infinite;
}

.btn-pulse:hover {
  animation-play-state: paused;
  transform: scale(1.1);
}

.card-animated {
  background: white;
  padding: 2rem;
  border-radius: 12px;
  box-shadow: 0 4px 6px rgba(0,0,0,0.1);
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  cursor: pointer;
  margin-top: 1rem;
}

.card-animated:hover {
  transform: translateY(-5px) rotate(1deg);
  box-shadow: 0 20px 40px rgba(0,0,0,0.15);
}



Result
● Prêt
Monaco Editor v0.45

Récapitulatif

Points essentiels à retenir

  • Cascade et spécificité : La priorité des styles CSS suit un système hiérarchique précis basé sur les sélecteurs utilisés
  • Variables CSS : Les design tokens centralisent les valeurs et facilitent la maintenance des thèmes visuels cohérents
  • Flexbox : Système unidimensionnel parfait pour l’alignement et la distribution flexible d’éléments dans les composants
  • CSS Grid : Solution bidimensionnelle idéale pour créer des mises en page complexes et structurées
  • Animations : Les transitions et keyframes améliorent l’expérience utilisateur en créant des interfaces fluides et interactives

Sources

? Pour approfondir vos connaissances :


  • ?

    Guide complet CSS – Variables, Flexbox et Grid
    MDN Web Docs

    →

  • ?

    Guide pratique Flexbox et animations CSS
    CSS-Tricks

    →

Validez vos connaissances

Testez votre compréhension avec ce quiz de 10 questions :

Chargement du quiz...
Catégories : Accessibilité Animation CSS Fondamentaux Web HTML JavaScript JS UX

Navigation de l’article

❮ Previous Post: CSS Mise en Forme — Animations, transitions
Next Post: CSS avancé : animations, transitions, préprocesseurs (Sass) ❯

À voir également

Module 1 — Fondamentaux techniques du web
L’Animation CSS
12 janvier 2026
Modèle de boîte CSS
Le Modèle de Boîte CSS : Maîtriser Margin, Padding et Border
6 janvier 2026

LMS Pro LMS Pro est une plateforme pédagogique dédiée au monde de la Formation Professionnelle. LMS Pro 2026 Tous droits réservés

Vous devez vous connecter

Mot de passe oublié ?
Pas encore de compte, cliquez ici
LMS Pro

Créer un compte

Remplissez ces informations

Déjà un compte ? Se connecter
LMS Pro