Welcome
M1 | The Technical Fundamentals of the Web M2 | Advanced CMS M3 | UX/UI Products M4 | Advanced Prototyping M5 | Advanced Integration & Core Project Training Bonus
About Log In Create Account
LMS Pro LMS Pro
  • Welcome
  • Web Production & Interface Training
    • Module 1 — Technical Fundamentals of the Web
    • Module 2 — Advanced CMS
    • Module 3 — Product UX & UI
    • Module 4 — Advanced Prototyping
    • Module 5 — Advanced Integration & Capstone Project
    • Bonus Module
  • About
  • Log In
  • Sign Up
Skip to content

LMS Pro

LMS Pro — Your platform to learn, grow, succeed

Professional Training

UX/UI Designer

The CSS Box Template: Mastering Margin, Padding, and Border

Posted on 6 January 202623 January 2026 By LMS Pro No Comments on Le Modèle de Boîte CSS : Maîtriser Margin, Padding et Border
CSS box template, Module 1 — Technical Fundamentals of the Web

Le Modèle de Boîte CSS : Maîtriser Margin, Padding et Border

Comprenez en profondeur le modèle de boîte CSS pour contrôler l’espacement et les dimensions de vos éléments. Un concept fondamental pour toute mise en page web.

Level : Débutant à Intermédiaire

Durée : 45 minutes

Target audience: Développeurs web, Intégrateurs

Objectifs pédagogiques

  • Comprendre les composants du modèle de boîte
  • Maîtriser margin, padding et border
  • Use box sizing correctly
  • Résoudre les problèmes de fusion de marges

En CSS, chaque élément est représenté comme une boîte rectangulaire avec quatre zones distinctes.

Schéma du modèle de boîte

┌──────────────────────────────────────┐
│ MARGIN │
│ ┌──────────────────────────────┐ │
│ │ BORDER │ │
│ │ ┌──────────────────────┐ │ │
│ │ │ PADDING │ │ │
│ │ │ ┌──────────────┐ │ │ │
│ │ │ │ CONTENT │ │ │ │
│ │ │ │ │ │ │ │
│ │ │ └──────────────┘ │ │ │
│ │ └──────────────────────┘ │ │
│ └──────────────────────────────┘ │
└──────────────────────────────────────┘

Définitions

  • Content : Le contenu réel (texte, images)
  • Padding : Espace entre le contenu et la bordure
  • Border : La bordure visible de l’élément
  • Margin : Espace extérieur entre les éléments

Visualiser dans le navigateur

Ouvrez les DevTools (F12) et inspectez un élément. Vous verrez le modèle de boîte avec les dimensions calculées.

THE padding crée de l’espace à l’intérieur de l’élément, entre le contenu et la bordure.

Syntaxes

/* Toutes les directions */
.box {
padding: 20px;
}

/* Vertical | Horizontal */
.box {
padding: 20px 40px;
}

/* Haut | Horizontal | Bas */
.box {
padding: 10px 20px 30px;
}

/* Haut | Droite | Bas | Gauche (sens horaire) */
.box {
padding: 10px 20px 30px 40px;
}

/* Propriétés individuelles */
.box {
padding-top: 10px;
padding-right: 20px;
padding-bottom: 30px;
padding-left: 40px;
}

Practical example

.card {
padding: 1.5rem;
background-color: #f5f5f5;
}

.button {
padding: 0.75rem 1.5rem;
background-color: blue;
color: white;
}

💡 Astuce : Le padding augmente les dimensions totales de l’élément (sauf avec box-sizing: border-box).

THE margin crée de l’espace à l’extérieur de l’élément, entre celui-ci et ses voisins.

Syntaxes identiques au padding

.box {
margin: 20px; /* Tous */
margin: 20px 40px; /* V | H */
margin: 10px 20px 30px; /* T | H | B */
margin: 10px 20px 30px 40px; /* T | R | B | L */
}

Centrage horizontal avec auto

.container {
width: 800px;
margin: 0 auto; /* Centré horizontalement */
}

/* Équivalent */
.container {
width: 800px;
margin-left: auto;
margin-right: auto;
}

Marges négatives

/* Faire déborder un élément */
.highlight {
margin-left: -20px;
margin-right: -20px;
padding-left: 20px;
padding-right: 20px;
background-color: yellow;
}

⚠️ Attention : Contrairement au padding, le margin peut avoir des valeurs négatives et peut fusionner (margin collapsing).

Syntaxe raccourcie

.box {
border: 2px solid #333;
/* largeur | style | couleur */
}

Styles de bordure

.examples {
border-style: solid; /* Ligne pleine */
border-style: dashed; /* Tirets */
border-style: dotted; /* Pointillés */
border-style: double; /* Double ligne */
border-style: groove; /* 3D enfoncé */
border-style: ridge; /* 3D en relief */
border-style: inset; /* Effet enfoncé */
border-style: outset; /* Effet en relief */
border-style: none; /* Pas de bordure */
}

Bordures individuelles

.card {
border-top: 3px solid blue;
border-bottom: 1px solid #ccc;
}

.accent {
border-left: 4px solid #0066cc;
padding-left: 1rem;
}

Coins arrondis

.rounded {
border-radius: 8px;
}

.pill {
border-radius: 9999px; /* Bouton pilule */
}

.custom {
border-radius: 10px 20px 30px 40px;
/* TL | TR | BR | BL */
}

Le problème

Par défaut, width And height définissent la taille du contenu seul.

/* content-box (défaut) */
.box {
width: 200px;
padding: 20px;
border: 10px solid;
}
/* Largeur totale = 200 + 40 + 20 = 260px ! */

La solution : border-box

/* border-box */
.box {
box-sizing: border-box;
width: 200px;
padding: 20px;
border: 10px solid;
}
/* Largeur totale = 200px (inclut padding et border) */

Reset recommandé

/* Appliquer border-box globalement */
*, *::before, *::after {
box-sizing: border-box;
}

/* Alternative héritée */
html {
box-sizing: border-box;
}
*, *::before, *::after {
box-sizing: inherit;
}

✅ Bonne pratique : Toujours utiliser box-sizing: border-box dans vos projets. Cela rend le calcul des dimensions intuitif.

Les marges verticales de blocs adjacents peuvent fusionner en une seule marge.

Exemple de fusion

<p style="margin-bottom: 30px;">Premier paragraphe</p>
<p style="margin-top: 20px;">Deuxième paragraphe</p>

<!-- L'espace entre eux sera 30px, pas 50px ! -->

Règle de fusion

La marge résultante est égale à la plus grande des deux marges, pas leur somme.

Quand ça ne fusionne PAS

  • Marges horizontales (gauche/droite)
  • Éléments avec display: inline-block
  • Éléments en position absolute Or fixed
  • Éléments avec overflow différent de visible
  • Éléments Flexbox ou Grid

Solutions

/* 1. Utiliser padding au lieu de margin */
.container {
padding-top: 20px;
}

/* 2. Utiliser flexbox */
.stack {
display: flex;
flex-direction: column;
gap: 20px;
}

/* 3. Utiliser une bordure invisible */
.parent {
border-top: 1px solid transparent;
}

HTML

<div class="card-grid">
<article class="card">
<img src="image1.jpg" alt="Image 1" class="card-image">
<div class="card-content">
<h3 class="card-title">Titre de la carte</h3>
<p class="card-text">Description du contenu...</p>
<a href="#" class="card-button">En savoir plus</a>


</article>
<!-- Répéter pour d'autres cartes -->

CSS avec modèle de boîte

/* Reset */
*, *::before, *::after {
box-sizing: border-box;
margin: 0;
padding: 0;
}

/* Grille de cartes */
.card-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
gap: 2rem;
padding: 2rem;
}

/* Carte */
.card {
border: 1px solid #e0e0e0;
border-radius: 12px;
overflow: hidden;
background: white;
transition: box-shadow 0.3s ease;
}

.card:hover {
box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
}

/* Image */
.card-image {
width: 100{4a00f6d73ff9e2f537053b7c202ea3e7e3a1709f4630047a1912e510d35e71a5};
height: 200px;
object-fit: cover;
display: block;
}

/* Contenu */
.card-content {
padding: 1.5rem;
}

.card-title {
margin-bottom: 0.75rem;
}

.card-text {
margin-bottom: 1rem;
color: #666;
}

/* Bouton */
.card-button {
display: inline-block;
padding: 0.75rem 1.5rem;
background-color: #0066cc;
color: white;
text-decoration: none;
border-radius: 6px;
transition: background-color 0.2s;
}

.card-button:hover {
background-color: #0052a3;
}

✅ Résultat : Un système de cartes responsive avec espacement cohérent et effets de survol élégants.
Loading quiz...
Categories: Border Box Model Box-sizing CSS Margin Padding

Post navigation

❮ Previous Post: HTML Structure: Essential Tags for Your Web Pages
Next Post: CSS Flexbox: The Complete Guide to Flexible Layout ❯

See also

CSS box template
Advanced CSS Animations Part 1
February 15, 2026
Module 1 — Technical Fundamentals of the Web
First steps with CSS SaaS
February 14, 2026

LMS Pro LMS Pro is an educational platform dedicated to Professional Training. LMS Pro 2026 All rights reserved

You must log in

Forgot password?
No account yet., click here
LMS Pro

Create an account

Fill in this information

Already have an account? Log in
LMS Pro
English
French