White-space-collapse - Propriété CSS

white-space-collapse

Résumé des caractéristiques de la propriété white-space-collapse

Description rapide
Définit comment les espaces successifs et les retours à la ligne doivent être traités.
Statut
Standard
S'applique à
Textes
Utilisable sur
HTML
Valeurs prédéfinies
collapse | discard | preserve | preserve-breaks | preserve-spaces | break-spaces
Pourcentages
Ne s'appliquent pas.
Valeur initiale
collapse
Héritée par défaut
Oui.
Type d'animation
Discrète : lors d'une animation, la propriété white-space-collapse passe d'une valeur à l'autre sans transition.
Module W3C
Module CSS - Texte
Références (W3C)
Statut du document: WD (document de travail)

Syntaxe de white-space-collapse (schéma).

white-space-collapse - Syntax DiagramSyntax diagram of the white-space-collapse CSS property. See http://stylescss.free.fr for details. collapse collapse discard discard preserve preserve preserve-breaks preserve-breaks preserve-spaces preserve-spaces break-spaces break-spaceswhite-space-collapse:;white-space-collapse:;
Schéma syntaxique de la propriété white-space-collapse.
Détails sur les valeurs.

Description de la propriété white-space-collapse.

La propriété white-space-collapse définit comment doivent être traités les espaces successifs, les caractères de tabulation, et les retours à la ligne figurant dans le code source. Les espaces successifs doivent-ils être fusionnés en un seul ? Et les retours à la ligne doivent-ils être conservés ou remplacés par un espace ?

Cette propriété sera utile pour préserver la disposition du texte dans le code source, dans certains cas particuliers comme l'écriture de code de programmation. Exemple : si le code source de la page est écrit de cette façon :

#id { text-align:center; font-size:2rem; }

On aimerait que l'affichage de la page respecte cette disposition. Or par défaut, les navigateurs supprimeront les espaces successifs et les retours à la ligne. Ils afficheront donc :

#id { text-align:center; font-size:2rem; }

 

Reportez-vous également à la propriété white-space, plus ancienne mais toujours valide.

Valeurs pour white-space-collapse.

    Dans les exemples de code ci-dessous, le texte a été saisi avec trois espaces entre chaque mot, et vingt espaces à la fin de la première ligne. Il comporte un retour à la ligne, et un caractère de tabulation (). Le source a donc cette allure :

    divExemple␣␣␣de␣␣␣texte.␣␣␣␣␣␣␣␣␣␣␣␣␣␣␣␣␣␣␣␣ Deuxième⭲ligne./div
  • white-space-collapse: collapse;

    Cette valeur demande au navigateur de remplacer les tabulations et les retours à la ligne par une espace, puis de regrouper les espaces successifs en un seul espace, C'est la valeur par défaut de la propriété, et également le comportement habituel des navigateurs.

    Exemple de texte. Deuxième ligne.
  • white-space-collapse: discard;

    Tous les espaces rencontrés dans le code source sont retirés.

    Attention ! Peu de navigateurs traitent correctement cette valeur. Si l'exemple ne fait pas apparaître de différence par rapport au précédent c'est que le navigateur que vous utilisez n'est pas compatible.

    Exemple de texte. Deuxième ligne.
  • white-space-collapse: preserve;

    Les espaces successifs, les tabulations, et les retours à la ligne sont préservés tels qu'ils figurent dans le code source. Le navigateur ne réduit pas les espaces successifs à un seul espace, les caractères de tabulation sont retranscrits en fonction de la propriété tab-size, et les retours à la lignes rencontrés dans le code source sont transformés en sauts de ligne forcés (balise br).

    Exemple de texte. Deuxième ligne.
  • white-space-collapse: preserve-breaks;

    Solution intermédiaire: les espaces successifs sont regroupés en un seul espace, les caractères de tabulation transformés en un espace, et les retours à la ligne du code source sont transformés en balise br (retour à la ligne forcés).

    Exemple de texte. Deuxième ligne.
  • white-space-collapse: preserve-spaces;

    Les espaces successifs sont conservés, les caractères de tabulation et les retours à la ligne sont convertis en un espace.

    Exemple de texte. Deuxième ligne.
  • white-space-collapse: break-spaces;

    Les espaces successifs sont préservés, y compris ceux en fin de ligne. Le navigateur peut insérer un retour à la ligne après chaque espace, y compris les espaces adjacents, c'est ce qui provoque la ligne blanche sur l'exemple.

    Exemple de texte. Deuxième ligne.
  • white-space-collapse: initial; (collapse) white-space-collapse: inherit; white-space-collapse: revert; white-space-collapse: revertLayer; white-space-collapse: unset;

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

Simulateur avec la propriété white-space-collapse.

Le texte ci-dessous comporte trois espaces entre chaque mot et un retour à la ligne après 'new-yorkais'.

white-space-collapse :
J’aime l’idée que le plus grand des Sex-symbols new-yorkais n’était qu’un chien dans un foyer de Brazzaville.

Support de white-space-collapse.

La propriété white-space-collapse est maintenant globalement bien reconnue par les navigateurs, sauf en ce qui concerne les valeurs preserve-spaces et discard.

Colonne 1
Traitement correct par les navigateurs de la propriété white-space-collapse qui définit comment le navigateur doit se comporter vis à vis des espace multiples et des tabulations.
Colonne 2
Support par les navigateurs de la valeur preserve-spaces pour la propriété white-space-collapse.
1
Propriété
white-space-collapse
2
Valeur
preserve-spaces
Estimation de la prise en charge globale.
89%
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

Évolution de la propriété white-space-collapse.

Voir aussi, à propos de la gestion des textes.

La gestion des textes est ce qui est en rapport avec les ruptures, les césures, l'alignement des textes, etc. Ces spécifications sont regroupées dans le module CSS Text Module. Vous y trouverez les définitions suivantes :

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-justify
Sélectionne la méthode utilisée pour justifier le texte.
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
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-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.
wrap-inside
Autorise ou non les sauts de lignes dans la boite.