Text-justify - Propriété CSS

text-justify

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

Description rapide
Sélectionne la méthode utilisée pour justifier le texte.
Statut
Problèmes de compatibilité
S'applique à
Éléments contenant du texte.
Utilisable sur
HTML
Valeurs prédéfinies
auto | none | inter-character | inter-word | ruby | no-compress
Pourcentages
Ne s'appliquent pas.
Valeur initiale
auto
Héritée par défaut
Oui.
Discrète : lors d'une animation, la propriété text-justify passe d'une valeur à l'autre sans transition.
Module W3C
Module CSS - Texte
 🡇  
 🡅  
Statut du document: WD (document de travail)

Statut du document: CR (document candidat à la recommandation)

Schéma de la syntaxe de text-justify.

Text-justify property - Syntax diagramSyntax diagram of the text-justify CSS property. See stylescss.free.fr for details. auto auto none none inter-word inter-word inter-character inter-character ruby ruby no-compress no-compresstext-justify:;text-justify:;
Schéma syntaxique de la propriété text-justify.
Cliquez sur les liens du schéma pour plus de précisons sur les valeurs.

Description de la propriété text-justify.

La propriété text-justify définit la méthode utilisée pour justifier le texte. La justification suppose un étirement des lignes de texte afin de leur donner à toutes une longueur identique. Cet étirement peut se faire en augmentant les espaces entre les mots ou en jouant sur les espaces entre les caractères.

Bien entendu, cette propriété n'a d'effet que si le texte est justifié (voir propriété text-align).

Valeurs pour text-justify.

  • text-justify: auto;

    Valeur par défaut. Le navigateur choisit la méthode de justification.

    Le navigateur détermines lui-même comment sera justifié les textes, en ajoutant des espaces entre les mots, ou en répartissant cet espace entre les caractères.
  • text-justify: none;

    Cette valeur désactive la justification, même si la propriété text-align a la valeur justify.

    Avec la valeur none aucune justification du texte n'est réalisée. Cette valeur désactive la justification quelque soit la valeur affectée à la propriété text-align.
  • text-justify: inter-word;

    La justification du texte est réalisée en ajustant les espaces entre les mots.

    Ce type de justification peut produire un résultat peu élégant lorsque les espaces entre les mots deviennent importants ou lorsque les lignes sont courtes. La solution est alors d'insérer des tirets de césure ( ­ ), solutions peu pratique, de passer en césure automatique (voir hyphens) ou de passer en justification entre les caractères.

    Ce texte est justifié par un allongement des espaces entre les mots. Sur les lignes courtes, ou qui comportent peu de mots parce que ceux-ci sont longs, le résultat peut être assez laid.

    Ci-dessous une simulation pour les navigateurs qui ne traient pas la propriété text-justify.

    Justification par des espaces entre les mots

  • text-justify: inter-character;

    La justification du texte est réalisée en ajustant les espaces entre les caractères.

    Ce texte et justifié par un allongement des espaces entre les caractères. Cette solution est généralement la plus esthétique, mais nécessite un traitement plus lourd.

    Dans le cas particulier de la justification des textes en arabe ou dans une autre langue comportant des caractères liés, les espaces entre les caractères liés ne doivent pas être changés.

    L'échantillon ci-dessous est une image, afin d'être visible sur tous les navigateurs, même ceux qui ne traitent pas encore la propriété text-justify.

    Justification par des espaces entre les caractères

  • text-justify: inter-character no-compress;

    Avec la valeur no-compress, le processus de justification ne doit pas réduire les espaces définis par les propriétés text-spacing-trim ou text-autospace. Elle peut seulement les augmenter. Si no-compress n'est pas utilisé, la justification peut réduire ces espacements, sauf s'ils se trouvent au début ou à la fin d'une ligne.

  • text-justify: ruby;

    Cette valeur est utilisée pour les annotations Ruby.

  • text-justify: distribute;

    Cette valeur est maintenant obsolète. Elle a été remplacée par inter-character.

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

    Les valeurs communes sont présentées sur ces pages : initial, inherit, revert, revert-layer, unset.

Exemple d'animation de text-justify.

Bien entendu, l'exemple d'animation ci-dessous ne fonctionnera que sur les navigateurs qui reconnaissent correctement la propriété text-justify. Nous vous conseillons d'essayer sur Firefox. L'animation alterne les valeurs inter-character et inter-word. L'effet visuel est assez discret.

La justification d'un texte peut être la cause d'une mauvaise lisibilité de ce texte : en effet la justification implique que les espaces entre les mots ne soient pas tous identiques, ce qui nécessite un effort supplémentaire, bien qu'inconscient, de la part du lecteur. La justification inter caractères limite cet inconvénient. D'autre part, en cas les lignes courtes, les espaces entre les mots deviennent vraiment trop important, ce qui, non seulement complique la lecture, mais nuit beaucoup à l'esthétique. La solution peut être également d'insérer des tirets de césure dans le texte ou de basculer en césure automatique.

Exemple interactif avec la propriété text-justify.

text-justify :
La justification d'un texte peut être la cause d'une mauvaise lisibilité de ce texte : en effet la justification implique que les espaces entre les mots ne soient pas tous identiques, ce qui nécessite un effort supplémentaire, bien qu'inconscient, de la part du lecteur. Pour éviter cela on préférera, lorsque c'est possible, une justification inter caractères.

Compatibilité des navigateurs avec text-justify.

La plupart des navigateurs actuels ne supportent que partiellement cette propriété. Il est généralement possible de l'activer avec le flag Experimental platform features mais il est déconseillé d'utiliser cette propriété en production.

Colonne 1
Prise en charge de la propriété text-justify pour indiquer comment doit se faire la justification.

Remarques :

(1) Supporte seulement les valeurs inter-word. Mais supporte quelques valeurs non standards.

(2) inter-word et distribute supporté via la plateforme expérimentale. Mais la version de distribution est boguée.

1
Propriété
text-justify
Estimation de la prise en charge globale.
2%

Navigateurs sur ordinateurs :

Navigateurs sur mobiles :

Navigateurs obsolètes ou marginaux :

Internet Explorer

UC Browser pour Androïd

Opéra Mobile

QQ Browser

Baidu Browser

Opéra

Safari

Safari sur IOS

Chrome

Edge

Firefox

Chrome pour Androïd

Androïd Brower

Firefox pour Androïd

Samsung Internet

KaiOS Browser

Opéra mini

Histoire de la propriété text-justify.

  • Module CSS - Texte - Niveau 3

    Introduction de la propriété text-justify.
    WD
    27 Janvier 1999
    Document de travail.
    CR
    22 Décembre 2020
    Candidat à la recommandation.
    PR
    REC
  • Module CSS - Texte - Niveau 4

    Pas de changement dans la définition de la propriété text-justify.
    WD
    22 Septembre 2015
    Document de travail.
    CR
    PR
    REC

Voir aussi, à propos de la gestion des textes.

La propriété text-justify est décrite dans le module de spécification CSS Text Module, de même que tout ce qui concerne la gestion des textes (alignement, césure, espacements, débordement, etc...). Les propriétés suivantes figurent également dans ce module :

Propriétés :

hanging-punctuation
Définit la ponctuation suspendue (caractères autorisés à déborder dans la marge).
hyphenate-character
Définit le caractère qui sera à utiliser comme marque de césure.
hyphenate-limit-chars
Définit le nombre minimal de caractères pour autoriser la césure d'un mot.
hyphenate-limit-last
Définit si les césures sont autorisées à la fin d'une colonne, d'une page, etc.
hyphenate-limit-lines
Définit le nombre maximal de lignes successives se terminant une césure
hyphenate-limit-zone
Définit le nombre maximal d'espaces pour autoriser ou interdire la césure.
hyphens
Définit si les mots peuvent être coupés en fin de ligne. La césure des mots donne une mise en page plus agréable mais peut être gênante dans certains cas.
letter-spacing
Espacement des lettres.
line-break
Définit les ruptures de lignes pour les langues CJK (chinois, japonais, coréen).
line-padding
Ajoute un espace au début et à la fin des lignes.
overflow-wrap
Gestion des coupures de mots pour les langues CJK et quelques autres.
tab-size
Définit la taille des caractères de tabulation.
text-align
Spécifie comment doit être aligné le texte de l'élément.
text-align-all
Définit l'alignement des lignes d'un texte (synonyme de text-align).
text-align-last
Définit l'alignement de la dernière ligne des paragraphes.
text-autospace
Définit l'espace entre les caractères adjacents (utilisable pour les langues CJK).
text-group-align
text-indent
Définit le retrait de la première ligne des paragraphe (indentation).
text-space-collapse
Définit comment gérer les espaces et les espaces multiples dans le texte.
text-space-trim
Définit si les espaces au début et à la fin du texte de l'élément doivent être conservés ou supprimés.
text-spacing
Propriété résumée pour text-spacing-trim et text-autospace. regroupe les informations d'espacement des caractères pour les langues CJK.
text-spacing-trim
Definit l'espacement autour des caractères de ponctuation CJK.
text-transform
Casse du texte (minuscules, majuscules...).
text-wrap
Définit la gestion des retours à la ligne du texte.
text-wrap-mode
Définit si les retours à la ligne sont autorisés.
text-wrap-style
Définit comment les saut de ligne vont se faire.
white-space
Définit comment sont restitués les espaces multiples et les retours chariot.
white-space-collapse
Définit comment les espaces successifs et les retours à la ligne doivent être traités.
white-space-trim
Définit si comment le navigateur doit supprimer les espaces réductibles.
word-boundary-detection
Définit quelle logique le navigateur doit utilier pour identifier les limites des mots.
word-boundary-expansion
Substitue certains caractères de séparation de mots par d'autres.
word-break
Coupure des mots longs.
word-space-transform
Normalise les caractères d'espacement (écritures CJK).
word-spacing
Permet d'ajuster l'espacement des mots.
word-wrap
Coupure des mots pour les langues CJK et quelques autres.
wrap-after
Autorise ou non les sauts de lignes après la boite.
wrap-before
Autorise ou non les sauts de lignes avant la boite.