W3docs

Propriété CSS outline-style

La propriété CSS outline-style permet de définir le style du contour d'un élément. Découvrez ses valeurs et des exemples.

La propriété CSS outline-style définit le style de ligne du contour d'un élément — par exemple une ligne solid, dashed ou dotted. Un contour (outline) est une ligne tracée juste à l'extérieur de la bordure de l'élément, autour des quatre côtés simultanément.

Cette page explique à quoi ressemble chaque style de contour, en quoi outline-style diffère de border-style, et présente des exemples interactifs pour chaque valeur.

Pourquoi utiliser un contour ?

Les contours sont le plus souvent utilisés pour rendre le focus visible. Lorsqu'un utilisateur navigue au clavier vers un lien, un bouton ou un champ de formulaire, le navigateur dessine un contour pour indiquer l'élément actif. Supprimer ce contour sans le remplacer nuit à l'accessibilité au clavier ; préférez donc le redéfinir plutôt que de le supprimer.

Le contour diffère de la border sur deux points importants :

  • Il n'occupe pas d'espace. Le contour est peint à l'extérieur du bord de la bordure et n'affecte pas la mise en page : ajouter ou modifier un contour ne déplace jamais les éléments environnants. La width et la height de l'élément n'incluent pas le contour.
  • Il ne peut pas être contrôlé côté par côté ni par coin. Contrairement aux bordures, vous ne pouvez pas définir un contour différent pour un seul côté, et un contour basique suit la boîte, pas son border-radius.

Pour qu'un contour soit visible, outline-style doit être défini sur une valeur autre que none — c'est cette propriété qui « active le contour ». Combinez-la avec outline-color et outline-width, ou utilisez le raccourci outline pour définir les trois en une seule fois.

La propriété outline-style accepte les valeurs suivantes :

  • none
  • hidden
  • dotted
  • dashed
  • solid
  • double
  • groove
  • ridge
  • inset
  • outset

Les valeurs groove, ridge, inset et outset créent un effet 3D en ombrant le contour en fonction de la outline-color. L'effet est le plus visible avec une épaisseur importante et une couleur de tonalité moyenne — il est presque invisible sur du noir ou du blanc pur.

Valeur initialenone
S'applique àTous les éléments.
HéritéNon.
AnimableNon.
VersionCSS2
Syntaxe DOMobject.style.outlineStyle = "dotted"

Syntaxe

Syntaxe CSS de outline-style

outline-style: none | hidden | dotted | dashed | solid | double | groove | ridge | inset | outset | initial | inherit;

Exemple de la propriété outline-style :

<!DOCTYPE html>
<html>
  <head>
    <title>Title of the document</title>
    <style>
      .p1 {
        outline-style: solid;
      }
      .p2 {
        outline-style: dashed;
      }
      .p3 {
        outline-style: dotted;
      }
      .p4 {
        outline-style: double;
      }
      .p5 {
        outline-style: none;/*hidden*/
      }
      .p6 {
        outline-style: groove;
        outline-color: #ccc;
      }
      .p7 {
        outline-style: ridge;
        outline-color: #ccc;
      }
      .p8 {
        outline-style: inset;
        outline-color: #ccc;
      }
      .p9 {
        outline-style: outset;
        outline-color: #ccc;
      }
    </style>
  </head>
  <body>
    <h2>Outline property example</h2>
    <p class="p1">This is a paragraph with outline set to solid.</p>
    <p class="p2">This is a paragraph with outline set to dashed.</p>
    <p class="p3">This is a paragraph with outline set to dotted.</p>
    <p class="p4">This is a paragraph with outline set to double.</p>
    <p class="p5">This is a paragraph with outline set to none.</p>
    <p class="p6">This is a paragraph with outline set to groove.</p>
    <p class="p7">This is a paragraph with outline set to ridge.</p>
    <p class="p8">This is a paragraph with outline set to inset.</p>
    <p class="p9">This is a paragraph with outline set to outset.</p>
  </body>
</html>

Résultat

CSS outline-style another

Exemple de la propriété outline-style avec toutes les valeurs :

CSS outline-style another code example

<!DOCTYPE html>
<html>
  <head>
    <title>Title of the document</title>
    <style>
      p.dotted {
        outline: 4px dotted gray;
      }
      p.dashed {
        outline: 0.2em dashed rgb(142, 191, 66);
      }
      p.solid {
        outline: 4px solid #ccc;
      }
      p.double {
        outline: 4px double #000;
      }
      p.groove {
        outline: 4px groove #666;
      }
      p.ridge {
        outline: thick ridge #1c87c9;
      }
      p.inset {
        outline: medium inset #1c87c9;
      }
      p.outset {
        outline: 4px outset #1c87c9;
      }
    </style>
  </head>
  <body>
    <h2>Outline property example</h2>
    <p class="dotted">Lorem Ipsum is simply dummy text of the printing...</p>
    <p class="dashed">Lorem Ipsum is simply dummy text of the printing...</p>
    <p class="solid">Lorem Ipsum is simply dummy text of the printing...</p>
    <p class="double">Lorem Ipsum is simply dummy text of the printing...</p>
    <p class="groove">Lorem Ipsum is simply dummy text of the printing...</p>
    <p class="ridge">Lorem Ipsum is simply dummy text of the printing...</p>
    <p class="inset">Lorem Ipsum is simply dummy text of the printing...</p>
    <p class="outset">Lorem Ipsum is simply dummy text of the printing...</p>
  </body>
</html>

Ce deuxième exemple utilise le raccourci outline pour définir le style, l'épaisseur et la couleur ensemble — par exemple outline: 4px dotted gray.

Exemple de la propriété outline-style avec la valeur « groove » :

Example of the outline-style property with the groove value

<!DOCTYPE html>
<html>
  <head>
    <title>Title of the document</title>
    <style>
      p {
        color: #7f7fa7;
        text-align: center;
        outline-width: 8px;
        outline-style: groove;
        padding: 10px;
      }
    </style>
  </head>
  <body>
    <h1>Outline property example</h1>
    <p>This is a paragraph with outline set to groove.</p>
  </body>
</html>

Exemple de la propriété outline-style avec la valeur « ridge » :

Example of the outline-style property with the ridge value

<!DOCTYPE html>
<html>
  <head>
    <title>Title of the document</title>
    <style>
      p {
        color: #69afad;
        text-align: center;
        outline-width: 8px;
        outline-style: ridge;
        padding: 10px;
      }
    </style>
  </head>
  <body>
    <h1>Outline property example</h1>
    <p>This is a paragraph with outline set to ridge.</p>
  </body>
</html>

Exemple de la propriété outline-style avec la valeur « inset » :

Example of the outline-style property with the inset value

<!DOCTYPE html>
<html>
  <head>
    <title>Title of the document</title>
    <style>
      p {
        color: #69afad;
        text-align: center;
        outline-width: 8px;
        outline-style: inset;
        padding: 10px;
      }
    </style>
  </head>
  <body>
    <h1>Outline property example</h1>
    <p>This is a paragraph with outline set to inset.</p>
  </body>
</html>

Exemple de la propriété outline-style avec la valeur « outset » :

Example of the outline-style property with the outset value:

<!DOCTYPE html>
<html>
  <head>
    <title>Title of the document</title>
    <style>
      p {
        color: #69afad;
        text-align: center;
        outline-width: 8px;
        outline-style: outset;
        padding: 10px;
      }
    </style>
  </head>
  <body>
    <h1>Outline property example</h1>
    <p>This is a paragraph with outline set to outset.</p>
  </body>
</html>

Exemple de la propriété outline-style avec la valeur « dotted » :

Example of the outline-style property with the dotted value:

<!DOCTYPE html>
<html>
  <head>
    <title>Title of the document</title>
    <style>
      p {
        color: #69afad;
        text-align: center;
        outline-width: 4px;
        outline-style: dotted;
        padding: 10px;
      }
    </style>
  </head>
  <body>
    <h1>Outline property example</h1>
    <p>This is a paragraph with outline set to dotted.</p>
  </body>
</html>

Exemple de la propriété outline-style avec la valeur « dashed » :

Example of the outline-style property with the dashed value:

<!DOCTYPE html>
<html>
  <head>
    <title>Title of the document</title>
    <style>
      p {
        color: #69afad;
        text-align: center;
        outline-width: 4px;
        outline-style: dashed;
        padding: 10px;
      }
    </style>
  </head>
  <body>
    <h1>Outline property example</h1>
    <p>This is a paragraph with outline set to dashed.</p>
  </body>
</html>

Valeurs

ValeurDescriptionEssayer
noneN'affiche aucun contour. C'est la valeur par défaut de cette propriété.Play it »
hiddenIdentique à none pour les contours (la valeur existe par cohérence avec border-style).Play it »
dottedLe contour est affiché sous forme d'une série de points.Play it »
dashedLe contour est affiché sous forme d'une série de tirets.Play it »
solidLe contour est affiché sous forme d'une ligne pleine.Play it »
doubleLe contour est affiché sous forme d'une double ligne pleine.Play it »
grooveSpécifie un contour 3D en creux.Play it »
ridgeSpécifie un contour 3D en relief.Play it »
insetSpécifie un contour encastré.Play it »
outsetSpécifie un contour en saillie.Play it »
initialDéfinit la propriété à sa valeur par défaut.Play it »
inheritHérite la propriété de son élément parent.

Conseils et pièges courants

  • outline-style seul peut être invisible. Sans largeur ni couleur définies, la largeur de contour par défaut est medium et la couleur est currentColor, donc il s'affiche généralement — mais si vous définissez outline-width: 0, il n'apparaîtra pas. Utilisez le raccourci outline pour être explicite.
  • Ne supprimez pas simplement les contours de focus. outline: none supprime l'anneau de focus clavier. Si un design l'exige, remplacez-le par un contour personnalisé ou un style de focus box-shadow afin que les utilisateurs clavier puissent toujours voir le focus.
  • Utilisez outline-offset pour aérer. Comme le contour est collé à la bordure par défaut, la propriété outline-offset permet de l'écarter vers l'extérieur (ou vers l'intérieur avec une valeur négative) sans affecter la mise en page.
  • Contour vs bordure. Utilisez un outline lorsque vous avez besoin d'un indicateur qui ne doit pas modifier la taille ou la position de la boîte ; utilisez une border lorsque la ligne fait partie de la mise en page de l'élément.

Propriétés associées

  • outline — raccourci pour outline-width, outline-style et outline-color.
  • outline-color — définit la couleur du contour.
  • outline-width — définit l'épaisseur du contour.
  • border — l'équivalent du contour qui occupe de l'espace dans la mise en page.

Pratique

Pratique
Lesquelles des valeurs suivantes sont valides pour la propriété 'outline-style' en CSS ?
Lesquelles des valeurs suivantes sont valides pour la propriété 'outline-style' en CSS ?
Was this page helpful?