Text-underline-offset - Propriété CSS

text-underline-offset

Résumé des caractéristiques de la propriété text-underline-offset

Description rapide
Définit la position du trait de soulignement, par rapport à la position de base.
Statut
Standard
S'applique à
Tout élément contenant du texte.
Utilisable sur
HTML, SVG
Valeurs prédéfinies
auto
Pourcentages
Calculés par rapport à la taille courante des caractères (1em).
Valeur initiale
auto
Héritée par défaut
Oui.
Type d'animation
Computed value : lors d'une animation, la propriété text-underline-offset passe progressivement d'une valeur à une autre.
Module W3C
Module CSS - Décoration du texte
Références (W3C)
Statut du document: WD (document de travail)

Syntaxe de text-underline-offset (schéma).

text-underline-offset - Syntax DiagramSyntax diagram of the text-underline-offset CSS property. auto auto length length % %text-underline-offset:;text-underline-offset:;
Schéma syntaxique de la propriété text-underline-offset.
Détails sur les valeurs.

Description des termes utilisés sur le schéma (les termes en gras sont prédéfinis) :

  • length est une valeur numérique suivie d'une des unités de dimension.
  • % est un pourcentage calculé par rapport à la hauteur des caractères.

Description de la propriété text-underline-offset.

La propriété CSS text-underline-offset définit la position du trait de soulignement du texte, par rapport à la position de base de ce trait. Cette dernière est définie par text-underline-position.

Cas particulier : text-underline-offset peut être ignorée dans le cas d'un soulignement ayant une signification particulière comme par exemple pour indiquer une faute d'orthographe ou de grammaire, autrement dit si la valeur de la propriété text-decoration est spelling-error ou grammar-error.

Pour davantage de détails, reportez-vous à la propriété text-decoration pour activer le soulignement du texte, et à la propriété text-underline-position pour définir la position de base du trait de soulignement.

Mécanisme d'héritage.

A cause du mécanisme de propagation particulier des décorations (dont le soulignement fait partie), text-underline-offset ne s'applique que au soulignement défini sur l'élément lui-même et sur ses enfants, mais pas au soulignement hérité d'un parent. Ce mécanisme est inhabituel en CSS et peut produire des résultats surprenants comme le montre l'exemple ci-dessous.

Le soulignement est défini sur le parent et se retrouve sur l'élément enfant. Néanmoins la propriété text-underline-offset appliquée sur l'élément enfant n'aura aucun effet, car le soulignement a été défini sur le parent.

 
Parent
Enfant
Dans ce deuxième exemple, le soulignement a été redéfini sur l'enfant, et en bleu pour le distinguer de celui du parent.
La propriété text-underline-offset appliquée sur l'élément enfant déplace uniquement le soulignement défini sur cet élément, et pas le soulignement obtenu du parent.
Parent
Enfant

Si text-underline-offset a une valeur exprimée dans une unité absolue (en pixels par exemple), la valeur sera héritée telle quelle, et ne s'adaptera donc pas à la taille des caractères de chacun des éléments enfants.
Les pourcentages sont par contre hérités en tant que valeurs relatives : la position du trait de soulignement est recalculée pour chacun des éléments en fonction de la taille des caractères.

L'élément parent définit la position du soulignement en pixels, juste à la limite des jambages. On voit que sur l'élément enfant, le trait n'est plus à la limite des jambages.
Parent : p q
Enfant : p q
L'élément parent définit la position du soulignement en pourcentages, également à la limite des jambages. Le trait reste à la limite des jambages quelque soit la taille des caractères.
Mozilla ne respecte pas cette règle.
Parent : p q
Enfant : p q

Valeurs pour text-underline-offset.

  • text-underline-offset: auto;

    Le navigateur choisit le meilleur emplacement pour le trait de soulignement. Cependant, si la propriété text-underline-position a la valeur from-font, le navigateur devrait choisir 0 pour la valeur de text-underline-offset.

  • text-underline-offset: 10px;

    Une valeur positive ou négative, suivie d'une unité de dimension (voir les unités de dimension). Les valeurs positives éloignent le trait de soulignement du texte. Les valeurs négatives le rapprochent, voire même font superposer le trait et le texte, ce dernier étant toujours en avant. Ce n'est donc pas une solution pour rayer un texte. Pour cela reportez-vous à la propriété text-decoration.

    Si la valeur est exprimée en pourcentages, ceux-ci seront déterminés par rapport à la hauteur des caractères, c'est à dire par rapport à la valeur 1em

  • text-underline-offset: initial; (auto) text-underline-offset: inherit; text-underline-offset: revert; text-underline-offset: revertLayer; text-underline-offset: unset;

    Liens vers la présentation de ces différentes valeurs : initial, inherit, revert, revert-layer, unset.

Possibilité d'animation de la propriété text-underline-offset.

Les possibilités d'animation sont assez limitées en ce qui concerne la propriété text-underline-offset, mais on peut cependant l'animer comme le montre l'exemple ci-dessous.

Exemple d'animation de text-underline-offset

Simulateur avec la propriété text-underline-offset.

Le simulateur vous permet de choisir une valeur pour text-underline-offset et pour text-underline-position. En effet ces deux propriétés travaillent ensemble pour fixer la position du trait de soulignement.

text-underline-offset :
Texte souligné

Support de text-underline-offset.

Colonne 1
Prise en charge par les navigateurs de la propriété text-underline-offset qui permet de positionner le trait de soulignement de façon précise.
Colonne 2
Support par les navigateurs de la valeur de text-underline-offset exprimée en pourcentages.
1
Propriété
text-underline-offset
2
Valeur en
pourcentage
Estimation de la prise en charge globale.
94%
89%

Navigateurs sur ordinateurs :

Navigateurs sur mobiles :

Navigateurs obsolètes ou marginaux :

Internet Explorer

Baidu Browser

QQ Browser

Opéra Mobile

Firefox

Chrome

Safari

Edge

Opéra

Chrome pour Androïd

Safari sur IOS

Samsung Internet

UC Browser pour Androïd

Androïd Brower

Firefox pour Androïd

KaiOS Browser

Opéra mini

Évolution de la propriété text-underline-offset.

Voir aussi, à propos des décorations de texte.

Les spécifications CSS éditées par le W3C sont organisées en modules. La propriété text-underline-offset fait partie du module CSS Text Decoration Module. Les définitions suivantes sont également décrites dans ce module.

Propriétés :

text-decoration
Propriété résumée permettant de définir l'essentiel des paramètres de décoration de texte (couleur, type de trait...).
text-decoration-color
Définit la couleur du trait de décoration (souligné, rayure...).
text-decoration-line
Définit le type de décoration : souligné, barré, etc.
text-decoration-skip
Propriété raccourcie définissant ce que les traits de décoration doivent sauter (espaces, jambage, etc.).
text-decoration-skip-box
Définit comment les décorations héritées des éléments parents doivent être appliquées.
text-decoration-skip-ink
Définit si les lignes de décoration (essentiellement le souligné) s'interrompent au niveau des jambages.
text-decoration-skip-inset
Définit comment les décorations de l'élément lui même (et non pas celles des éléments parents) doivent être appliquées.
text-decoration-skip-self
Définit si les décoration du ou des éléments parents doivent être appliquées à cet élément.
text-decoration-skip-spaces
Définit si les lignes de décoration (soulignement, rayure...) concernent les espaces.
text-decoration-style
Type de trait pour la décoration : plein, pointillé, etc.
text-decoration-thickness
Définit l'épaisseur des traits de décoration (souligné, barré, surligné).
text-emphasis
Propriété résumée qui définit tous les paramètres de la mise en exergue d'un texte.
text-emphasis-color
Définit la couleur des caractères de mise en exergue.
text-emphasis-position
Définit la position des caractères de mise en exergue.
text-emphasis-skip
Définit si les mises en exergue doivent s'interrompre sur les espaces, les signes de ponctuation, etc.
text-emphasis-style
Spécifie le style de mise en exergue.
text-shadow
Cette propriété résumée définit tous les paramètres de l'ombre appliquée au texte : couleur, décalage, etc.).
text-underline-position
Définit l'emplacement des traits de soulignement.