W3docs

La propriété CSS text-decoration-line

Utilisez text-decoration-line pour définir le type de ligne de décoration du texte. Découvrez les valeurs et des exemples pratiques.

La propriété text-decoration-line définit le type de ligne utilisé pour la décoration du texte — un underline, un overline, un line-through, ou toute combinaison de ces valeurs.

Il s'agit de l'une des quatre propriétés longhand qui composent la propriété raccourcie text-decoration, les autres étant text-decoration-color, text-decoration-style, et text-decoration-thickness. Utilisez text-decoration-line seule lorsque vous souhaitez uniquement modifier quelles lignes apparaissent, sans toucher à la couleur, au style et à l'épaisseur.

Cette page couvre les valeurs acceptées par la propriété, comment combiner plusieurs lignes simultanément, la relation avec la propriété raccourcie, ainsi que quelques pièges pratiques.

Info

La propriété text-decoration-line est entièrement prise en charge par tous les navigateurs modernes sans préfixes propriétaires. C'est l'une des propriétés CSS3.

Pourquoi utiliser text-decoration-line

Une raison courante d'utiliser la propriété longhand est d'ajouter ou de supprimer une seule ligne sans perturber le reste de la décoration. Par exemple, les liens sont soulignés par défaut ; en définissant text-decoration-line: none, ce soulignement est supprimé tout en vous permettant de définir ultérieurement une couleur de soulignement personnalisée via la propriété raccourcie. La propriété accepte également plusieurs mots-clés, ce qui permet de placer un soulignement et un overline sur le même texte en une seule déclaration.

Valeur initialenone
S'applique àTous les éléments. S'applique également à ::first-letter et ::first-line.
HéritageNon.
AnimableNon.
VersionCSS3
Syntaxe DOMobject.style.textDecorationLine = "overline underline";

Syntaxe

Syntaxe CSS de text-decoration-line

text-decoration-line: none | [ underline || overline || line-through ] | initial | inherit;

Le mot-clé none est utilisé seul, mais underline, overline et line-through peuvent être combinés dans une seule déclaration, séparés par des espaces, et l'ordre n'a pas d'importance :

/* a single line */
text-decoration-line: underline;

/* two lines at once */
text-decoration-line: underline overline;

/* all three */
text-decoration-line: underline overline line-through;

Exemple de la propriété text-decoration-line :

Exemple de code CSS pour text-decoration-line

<!DOCTYPE html>
<html>
  <head>
    <title>Title of the document</title>
    <style>
      p {
        text-decoration-line: overline;
      }
    </style>
  </head>
  <body>
    <h2>Text-decoration-line property example</h2>
    <p>Lorem Ipsum is simply dummy text...</p>
  </body>
</html>

Résultat

Propriété CSS text-decoration-line

Exemple de la propriété text-decoration-line avec la valeur "underline" :

Exemple CSS de text-decoration-line avec la valeur underline

<!DOCTYPE html>
<html>
  <head>
    <title>Title of the document</title>
    <style>
      p {
        text-decoration-line: underline;
      }
    </style>
  </head>
  <body>
    <h2>Text-decoration-line property example</h2>
    <p>Lorem Ipsum is simply dummy text...</p>
  </body>
</html>

Exemple de la propriété text-decoration-line avec la valeur "line-through" :

Exemple CSS de text-decoration-line avec la valeur line-through

<!DOCTYPE html>
<html>
  <head>
    <title>Title of the document</title>
    <style>
      p {
        text-decoration-line: line-through;
      }
    </style>
  </head>
  <body>
    <h2>Text-decoration-line property example</h2>
    <p>Lorem Ipsum is simply dummy text...</p>
  </body>
</html>

Exemple de la propriété text-decoration-line avec toutes les valeurs :

Exemple CSS de text-decoration-line avec toutes les valeurs

<!DOCTYPE html>
<html>
  <head>
    <title>Title of the document</title>
    <style>
      div {
        margin: 20px 0;
      }
      div.t1 {
        text-decoration-line: none;
      }
      div.t2 {
        text-decoration-line: underline;
      }
      div.t3 {
        text-decoration-line: line-through;
      }
      div.t4 {
        text-decoration-line: overline;
      }
    </style>
  </head>
  <body>
    <h2>Text-decoration-line property example</h2>
    <div class="t1">
      Lorem Ipsum is simply dummy text...
    </div>
    <div class="t2">
      Lorem Ipsum is simply dummy text...
    </div>
    <div class="t3">
      Lorem Ipsum is simply dummy text...
    </div>
    <div class="t4">
      Lorem Ipsum is simply dummy text...
    </div>
  </body>
</html>

Combinaison de text-decoration-line avec la propriété raccourcie

Étant donné que text-decoration-line contrôle uniquement les lignes, vous l'associez généralement aux autres propriétés longhand — ou utilisez simplement la propriété raccourcie text-decoration, qui les définit toutes en même temps. Ces deux règles produisent le même résultat :

/* longhands */
p {
  text-decoration-line: underline;
  text-decoration-color: red;
  text-decoration-style: wavy;
}

/* shorthand equivalent */
p {
  text-decoration: underline red wavy;
}

Recourir à la propriété longhand est avantageux lorsque vous souhaitez remplacer une seule valeur sans réécrire toute la décoration — par exemple, changer uniquement le type de ligne au survol (:hover) tout en conservant une couleur et un style hérités.

Note d'accessibilité

text-decoration-line: line-through est purement visuel : les technologies d'assistance n'annoncent pas que le texte est barré. Pour indiquer « ce contenu a été supprimé » aux utilisateurs de lecteurs d'écran, utilisez l'élément sémantique <del> ou <s> plutôt que de vous fier uniquement au CSS.

Valeurs

ValeurDescriptionEssayer
noneAucune ligne n'est définie.Essayer »
underlineDéfinit une ligne sous le texte.Essayer »
overlineDéfinit une ligne au-dessus du texte.Essayer »
line-throughDéfinit une ligne traversant le texte.Essayer »
initialRétablit la valeur par défaut de la propriété.Essayer »
inheritHérite la valeur de la propriété depuis l'élément parent.

La propriété text-decoration-line prenait auparavant en charge une valeur blink qui faisait clignoter le texte. Cette valeur est désormais dépréciée et la plupart des navigateurs l'ignorent ; ne l'utilisez donc pas dans du nouveau code.

Propriétés associées

  • text-decoration — la propriété raccourcie qui définit simultanément la ligne, la couleur, le style et l'épaisseur.
  • text-decoration-color — définit la couleur de la ligne de décoration.
  • text-decoration-style — définit le style de la ligne : solid, double, dotted, dashed ou wavy.

Pratique

Pratique
Lesquelles de ces valeurs sont valides pour la propriété 'text-decoration-line' en CSS ?
Lesquelles de ces valeurs sont valides pour la propriété 'text-decoration-line' en CSS ?
Was this page helpful?