mamabea Le magazine des bonnes idées du quotidien

Espace HTML : La clé pour des sites web époustouflants?

Un site peut avoir de belles couleurs et rester pénible à lire si ses blocs sont collés, ses boutons tassés ou ses lignes trop denses. L’espace ne se « met » pas vraiment en HTML : il se construit surtout en CSS. Voici les bons outils, les valeurs de départ et les pièges à éviter.

Ordinateur portable affichant une maquette web aérée sur un bureau en bois
Ordinateur portable affichant une maquette web aérée sur un bureau en bois

L’espace, un outil de lecture avant d’être un effet décoratif

L’espace blanc désigne toute zone sans contenu visible : autour d’un titre, entre deux cartes, dans un bouton ou entre les lignes d’un paragraphe. Il donne un rythme à la page, sépare les informations et aide l’œil à comprendre ce qui va ensemble. À l’inverse, une page où tout se touche paraît plus longue, même lorsque son texte ne l’est pas.

Le bon objectif n’est pas de « remplir les vides ». C’est d’installer une hiérarchie visible : peu d’espace entre un libellé et son champ, davantage entre deux rubriques, et encore plus entre les grandes sections. Cette logique reste efficace avec un design sobre, une boutique en ligne ou une simple page d’association.

Quatre repères simples pour démarrer

4 ou 8 px

module de base pour une échelle d’espacement régulière

16–18 px

taille souvent confortable pour le texte courant sur écran

1,4–1,7

interligne de départ pour un paragraphe de texte

44 px

hauteur confortable pour un bouton ou une zone tactile

Ce que le navigateur fait réellement des espaces HTML

Dans un texte HTML ordinaire, le navigateur réduit une suite d’espaces, de tabulations et de retours à la ligne à un seul espace visible. Indenter votre code améliore donc sa lisibilité, mais ne crée pas de retrait à l’écran. Entre Bonjour vous et Bonjour vous, l’affichage est normalement identique.

Les éléments HTML ont toutefois des comportements différents. Un paragraphe <p> et un conteneur <div> créent des blocs distincts, mais leur distance visuelle dépend de la feuille de style du navigateur ou de votre CSS. Un <span>, lui, reste dans la ligne tant que vous ne modifiez pas son affichage.

Il existe des exceptions, notamment l’élément <pre> et la propriété CSS white-space, qui peuvent conserver les sauts et les espaces. Réservez-les à un code source, une adresse formatée ou un contenu où les alignements ont réellement un sens. Pour la mise en page courante, ils compliquent plus qu’ils n’aident.

Quel outil utiliser pour créer ou contrôler un espace ?
OutilÀ utiliser pourÀ éviter pour
Espace normalSéparer les motsAligner du contenu
<code>&nbsp;</code>Éviter une coupureCréer un retrait
<code><br></code>Adresse, vers, texte imposéEspacer des blocs
<code>margin</code>Séparer deux élémentsAérer un bouton
<code>padding</code>Aérer l’intérieur d’un blocCréer un vide extérieur
<code>gap</code>Espacer une liste ou grilleDécaler un bloc seul
<code>line-height</code>Aérer les lignesCréer des sections

Faites glisser le tableau horizontalement pour tout voir.

Margin, padding ou gap : choisir la bonne propriété

Une confusion fréquente consiste à utiliser les marges partout. Or chaque propriété répond à une question distincte. Demandez-vous si l’espace doit se trouver dans le composant, entre plusieurs composants, ou seulement autour d’un élément isolé.

La propriété gap est souvent le meilleur choix dans une rangée de boutons, une liste de cartes ou une galerie. Appliquée au conteneur en display: flex ou display: grid, elle garde le même intervalle entre chaque enfant, sans devoir supprimer une marge sur le dernier élément.

Deux espaces qui ne produisent pas le même résultat

Padding

L’air à l’intérieur du composant

Points forts
Agrandit la zone cliquable d’un boutonÉloigne le texte d’une bordureReste lié au fond et à la bordure
Limites
Augmente la taille totale du blocPeut provoquer un débordement sans <code>border-box</code>

Margin

La distance à l’extérieur du composant

Points forts
Sépare clairement deux blocsPratique pour un titre isoléN’affecte pas le fond du bloc
Limites
Les marges verticales peuvent fusionnerMoins pratique qu’un <code>gap</code> pour une série

Attention aux marges verticales qui « fusionnent » entre certains blocs classiques, par exemple deux paragraphes successifs. La distance finale n’est alors pas forcément l’addition des deux valeurs : la marge la plus grande peut l’emporter. Un conteneur en flex ou en grid avec gap évite ce comportement et rend l’intention plus lisible.

Adoptez aussi dès le début box-sizing: border-box sur tous les éléments. Avec ce réglage, une largeur déclarée inclut le padding et la bordure ; une carte prévue pour faire 300 px ne s’élargit pas accidentellement lorsque vous l’aérez.

Construire un espacement cohérent, étape par étape

Une méthode fiable pour une page simple

  1. Choisissez une unité de base

    Partez sur 4 px ou 8 px. Créez ensuite des paliers prévisibles : 8, 16, 24, 32, 48 et 64 px. Vous éviterez les valeurs arbitraires comme 13, 19 ou 27 px, difficiles à harmoniser.

  2. Réglez d’abord le texte

    Fixez une taille lisible et un interligne adapté avant de déplacer les blocs. Pour un texte à 16 px, un line-height: 1.5 donne un point de départ solide. Mesurez aussi les paragraphes : une colonne trop large fatigue la lecture.

  3. Aérez chaque composant de l’intérieur

    Ajoutez du padding aux cartes, encadrés et boutons. Par exemple, une carte peut démarrer avec padding: 24px, et un bouton avec padding: 12px 16px. Vérifiez toujours l’aspect avec un libellé sur deux lignes.

  4. Espacez les éléments frères avec gap

    Sur une liste de cartes, utilisez par exemple display: grid; gap: 24px;. Sur une barre d’actions, display: flex; gap: 12px; suffit souvent. L’espacement reste propre quand un élément est ajouté ou retiré.

  5. Réservez les grandes marges aux sections

    Créez une respiration nette entre les ensembles, par exemple 48 à 80 px selon l’écran. Une règle comme margin-block: 64px sur les sections est plus facile à maintenir que des marges dispersées sur chaque enfant.

Gérer les espaces dans le texte sans abîmer la typographie

L’entité &nbsp; produit une espace insécable : les deux caractères situés de part et d’autre ne pourront pas être séparés par un retour à la ligne. Elle est utile pour garder un nombre et son unité ensemble, comme 25&nbsp;€, ou pour une ponctuation française lorsque votre système ne gère pas automatiquement l’espace appropriée.

En typographie française, on emploie une espace insécable avant les signes doubles comme :, ;, ? et !, ainsi qu’à l’intérieur des guillemets français. Une espace fine insécable est idéale dans un texte soigné, mais son rendu varie selon les outils. Pour un site courant, &nbsp; apporte déjà une coupure propre, à condition de l’utiliser avec retenue.

Ne placez jamais plusieurs &nbsp; d’affilée pour centrer un titre ou faire des colonnes. Sur mobile, ces blancs rigides peuvent provoquer un défilement horizontal. Utilisez plutôt text-align, flexbox ou grid. De même, <br> impose seulement un retour à la ligne : il convient à une adresse postale, un poème ou un slogan dont la coupure est voulue, pas à la séparation de paragraphes.

Adapter les espaces au mobile, au zoom et aux textes longs

Un espacement confortable sur un ordinateur de bureau peut devenir disproportionné sur un téléphone. Ne réduisez pas tout mécaniquement : conservez de l’air autour des zones tactiles et réduisez surtout les grands espaces entre sections. Un padding de carte peut ainsi passer de 24 à 16 px, tandis qu’un bouton garde une hauteur proche de 44 px.

Pour des valeurs souples, la fonction CSS clamp() est utile. Une règle telle que padding-inline: clamp(16px, 4vw, 64px) fixe une valeur minimale et maximale tout en laissant l’espace évoluer entre les deux. Testez-la aussi avec le zoom du navigateur à 200 % : aucun texte ne doit être coupé, chevauché ou caché.

Préférez des largeurs en pourcentage, rem, minmax() et max-width aux dimensions rigides. Pour le corps de texte, une limite comme max-width: 70ch empêche des lignes excessivement longues sur grand écran, sans imposer une largeur en pixels liée à une police précise.

Les erreurs qui rendent une page fragile ou moins accessible

Une carte au contenu serré n’est pas seulement moins élégante : elle devient plus difficile à parcourir et à toucher. Laissez une zone active visible autour des liens et boutons, prévoyez un état de focus qui ne soit pas collé aux éléments voisins, et évitez les liens uniquement séparés par quelques pixels. La couleur ne doit jamais être le seul moyen de distinguer deux zones.

Les réglages de navigateur et les traductions révèlent les défauts cachés. Un bouton « En savoir plus » peut devenir bien plus long, un titre allemand ou néerlandais peut s’étendre, et une personne peut augmenter la taille du texte. Un composant bien espacé accepte ces situations sans hauteur fixe inutile.

En France, les exigences d’accessibilité numérique sont particulièrement encadrées pour de nombreux services publics et organismes concernés. Pour un site professionnel, référez-vous au référentiel applicable et aux WCAG en vigueur ; l’espacement seul ne suffit pas à rendre une interface accessible. En cas de refonte ou d’obligation réglementaire, un audit par un spécialiste de l’accessibilité est plus sûr qu’un simple contrôle visuel.

Vérifier et corriger l’espacement avant la mise en ligne

L’inspecteur intégré à Chrome, Firefox, Safari ou Edge est l’outil le plus rapide pour comprendre une distance inattendue. Sélectionnez l’élément : le modèle de boîte montre visuellement le contenu, le padding, la bordure et les marges. Vous pouvez modifier une valeur en direct, puis reporter seulement la correction utile dans votre feuille CSS.

Si une marge semble ignorée, vérifiez d’abord si un style plus spécifique l’écrase, si elle fusionne avec celle d’un voisin, ou si le conteneur utilise flexbox ou grid. Si un élément déborde, cherchez une largeur fixe, un long mot non sécable ou un padding ajouté à une largeur sans border-box. Ces trois causes expliquent une grande part des problèmes sur mobile.

Contrôle final de vos espaces

  • Chaque section est identifiable au premier regard, sans bordure obligatoire.
  • Les cartes ont un padding régulier et les groupes utilisent <code>gap</code>.
  • Les boutons restent faciles à toucher et ne se chevauchent jamais.
  • Les nombres, unités et ponctuations importantes ne se coupent pas mal.
  • La page fonctionne à 200 % de zoom et sur un écran étroit.
  • Aucun alignement ne repose sur des suites de <code>&nbsp;</code> ou de <code><br></code>.

Questions fréquentes

Comment faire un espace en HTML ?

Dans un texte courant, tapez une espace normale : le navigateur gère la séparation entre les mots. Pour empêcher un retour à la ligne entre deux éléments, utilisez l’entité <code>&nbsp;</code>, par exemple entre un prix et le symbole euro. Pour espacer des blocs, passez par le CSS avec <code>margin</code>, <code>padding</code> ou <code>gap</code>.

Pourquoi plusieurs espaces ne s’affichent-ils pas en HTML ?

Le comportement par défaut de HTML regroupe les espaces, tabulations et retours à la ligne consécutifs en une seule espace visible. C’est pourquoi l’indentation du code ne crée pas d’alignement sur la page. La propriété CSS <code>white-space</code> peut changer cette règle, mais elle ne sert généralement pas à construire une mise en page.

Quelle est la différence entre margin et padding en CSS ?

Le padding est l’espace intérieur, entre le contenu et la bordure d’un élément. La margin est l’espace extérieur, qui sépare cet élément de ses voisins. Pour un bouton, le padding améliore la zone cliquable ; pour éloigner deux sections, utilisez plutôt une margin ou un <code>gap</code> sur leur conteneur.

Faut-il utiliser <code><br></code> pour espacer les paragraphes ?

Non. La balise <code><br></code> force un retour à la ligne, mais ne définit pas un vrai nouveau paragraphe. Structurez le texte avec <code><p></code> et gérez l’écart entre les paragraphes en CSS, ce qui restera correct sur mobile, au zoom et après traduction.

Comment éviter qu’un prix ou une unité soit coupé sur deux lignes ?

Insérez une espace insécable entre le nombre et l’unité, par exemple <code>1&nbsp;200&nbsp;€</code> ou <code>20&nbsp;km</code>. Le navigateur conservera le groupe sur la même ligne si possible. N’en abusez pas dans une phrase longue, car trop de groupes insécables peuvent créer des débordements sur petit écran.

Quel espacement CSS prévoir sur mobile ?

Il n’existe pas une valeur universelle, mais une échelle de 4 ou 8 px est facile à maintenir. Comptez souvent 16 px de padding dans une carte mobile, 12 à 16 px entre des boutons voisins et une hauteur proche de 44 px pour une action tactile confortable. Testez avec des textes longs et un zoom élevé avant de valider.

Sujets accessibilite

Cet article est publié par La rédaction de Mamabea à titre d’information générale. Il ne remplace ni un diagnostic, ni un devis, ni l’avis d’un professionnel qualifié. Prix, réglementations et disponibilités évoluent : vérifiez-les avant toute décision. Notre charte éditoriale.