Menu

Border CSS : bordure, style, couleur et border-radius

La propriété border trace une ligne autour du padding d'un élément. Découvrez le raccourci border, tous les styles de bordure, les couleurs et les côtés seuls, les coins arrondis avec border-radius, et la différence entre bordure et outline.

Cette page contient des éditeurs exécutables - modifiez, exécutez et voyez la sortie instantanément.

Le raccourci border

border trace une ligne autour d'un élément, entre son padding et sa margin. Le raccourci prend trois parties dans n'importe quel ordre : une épaisseur, un style et une couleur.

PartiePropriété détailléeValeursPar défaut
Épaisseurborder-width1px, 0.2em, thin, medium, thickmedium
Styleborder-stylesolid, dashed, dotted, double, et d'autresnone
Couleurborder-colorN'importe quelle couleurcurrentColor (la couleur du texte)

Le style est la partie que vous ne pouvez pas omettre. Sa valeur par défaut est none, donc border: 2px #2563eb; ne dessine rien du tout. Si vous omettez la couleur, la bordure prend la couleur du texte de l'élément.

Les styles de bordure

double a besoin d'au moins 3px pour montrer deux lignes. groove, ridge, inset et outset nuancent la couleur pour un effet 3D et varient légèrement d'un navigateur à l'autre. hidden ressemble à none ; les deux ne diffèrent que dans les tableaux aux bordures fusionnées, traités sur la page des bordures de tableau HTML.

Un côté à la fois

Chaque côté a son propre raccourci (border-top, border-right, border-bottom, border-left), et chaque partie a des propriétés par côté comme border-top-color. Les versions logiques, border-inline-start et border-block-end, suivent le sens du texte :

border-color, border-width et border-style acceptent de une à quatre valeurs, dans le même ordre horaire que padding : haut, droite, bas, gauche.

Coins arrondis avec border-radius

border-radius arrondit les coins de la bordure et du fond, il fonctionne donc sur des éléments sans aucune bordure.

ValeurRésultat
border-radius: 8pxTous les coins arrondis de 8px
border-radius: 50%Un cercle sur un élément carré, une ellipse sur un rectangle
border-radius: 999pxUne pilule : les petits côtés deviennent des demi-cercles complets
border-radius: 8px 0En haut à gauche et en bas à droite 8px, les deux autres carrés
border-top-left-radius: 12pxUn seul coin
border-radius: 50% / 25%Coins elliptiques : rayon horizontal / rayon vertical

Un enfant qui a un fond peut dépasser des coins arrondis de son parent. overflow: hidden sur le parent le découpe selon la courbe.

Border ou outline

Un outline ressemble à une bordure, mais il est dessiné à l'extérieur et ne prend pas de place : en ajouter un ne déplace jamais rien. C'est pourquoi les navigateurs utilisent les outlines pour les indicateurs de focus.

BorderOutline
Prend de la placeOui, fait partie de la taille de la boîteNon
Par côtéOui (border-top, ...)Non, tout autour
Suit border-radiusOuiOui, dans les navigateurs actuels
Décalage par rapport à la boîteNonOui, outline-offset
Usage typiqueDesignIndicateurs de focus, débogage

Erreurs courantes

  • Pas de style de bordure. border: 1px #111827; et border-color: red; ne dessinent rien. Ajoutez solid (ou un autre style).
  • Une bordure qui fait sauter la mise en page au survol. Réservez l'espace avec une bordure transparente, ou utilisez un outline ou box-shadow.
  • Oublier la bordure dans la largeur. Un élément width: 100% avec une bordure déborde de son conteneur en content-box. Utilisez box-sizing: border-box.
  • border-radius avec un enfant qui dépasse des coins. Ajoutez overflow: hidden au parent arrondi.
  • Supprimer les contours de focus avec outline: none. Les utilisateurs du clavier en ont besoin ; restylez l'outline au lieu de le supprimer.

Questions fréquentes

Comment ajouter une bordure en CSS ?

Utilisez le raccourci avec une épaisseur, un style et une couleur : border: 2px solid #2563eb;. Le style est la partie la plus importante : sans lui, le style de bordure vaut none et aucune bordure n'est dessinée.

Pourquoi ma bordure CSS ne s'affiche-t-elle pas ?

Presque toujours parce qu'aucun style de bordure n'est défini. border: 2px #2563eb; ou border-color: red; seuls ne dessinent rien, puisque border-style vaut none par défaut. Ajoutez solid, dashed ou un autre style.

Comment faire des coins arrondis en CSS ?

Utilisez border-radius : border-radius: 8px; arrondit les quatre coins. border-radius: 50%; sur un carré donne un cercle, et une grande valeur comme 999px une forme de pilule. Le fond est arrondi aussi, même sans bordure.

Comment mettre une bordure sur un seul côté ?

Utilisez une propriété de côté : border-bottom: 2px solid #e5e7eb;, ou border-inline-start pour le côté où commence le texte, qui fonctionne aussi pour les langues écrites de droite à gauche.

Quelle est la différence entre border et outline ?

Une bordure fait partie de la boîte : elle prend de la place et modifie la taille de l'élément. Un outline est dessiné à l'extérieur de la bordure sans prendre de place, ne peut pas être défini côté par côté, et c'est ce que les navigateurs utilisent pour les indicateurs de focus. Les deux suivent border-radius dans les navigateurs actuels.

Coddy programming languages illustration

Apprendre à coder avec Coddy

COMMENCER