--- title: text-overflow slug: Web/CSS/text-overflow tags: - CSS - Propriété - Reference translation_of: Web/CSS/text-overflow ---
La propriété text-overflow
définit la façon dont le contenu textuel qui dépasse d'une boîte est signalé pour les utilisateurs. Le texte peut être rogné (clipping), afficher une ellipse ('…
', U+2026 Horizontal Ellipsis
) ou afficher une chaîne de caractères choisie.
Le code source de cet exemple interactif est disponible dans un dépôt GitHub. Si vous souhaitez contribuez à ces exemples, n'hésitez pas à cloner https://github.com/mdn/interactive-examples et à envoyer une pull request !
Le rognage se fera à la bordure de la boîte. Afin que le rognage se fasse plus tôt, à la limite des caractères, on peut utiliser la chaîne vide (''
).
Cette propriété n'affecte que le contenu qui dépasse de la boîte englobante dans le sens de la progression en ligne. Par exemple, on ne parle pas ici du texte qui dépasserait vers le bas d'une boîte. Le texte peut dépasser lorsqu'on empêche le retour automatique à la ligne (par exemple avec white-space: nowrap
) ou lorsqu'un seul mot est trop long pour tenir dans le conteneur.
Cette propriété CSS ne force pas le dépassement. Pour ce faire et afin que text-overflow
soit appliqué, l'auteur devra ajouter des propriétés supplémentaires sur l'élément, notamment : {{cssxref("overflow")}} avec hidden
et {{cssxref("white-space")}} avec nowrap
.
/* On gère le dépassement en fin de ligne - à droite en LTR, - à gauche en RTL */ text-overflow: clip; text-overflow: ellipsis; text-overflow: "…"; text-overflow: fade; text-overflow: fade(10px); text-overflow: fade(5%); /* On gère le dépassement au début et à la fin de la ligne. La directionnalité n'a pas d'importance */ text-overflow: clip ellipsis; text-overflow: "…" "…"; text-overflow: fade clip; text-overflow: fade(10px) fade(10px); text-overflow: fade(5%) fade(5%); /* Valeurs globales */ text-overflow: inherit; text-overflow: initial; text-overflow: unset;
La propriété text-overflow
peut être définie grâce à une ou deux valeurs.
Si une valeur est fournie, celle-ci indique le comportement du dépassement en fin de ligne (c'est-à-dire l'extrêmité droite pour les textes écrits de gauche à droite et l'extrêmité gauche pour les textes écrits de droite à gauche). Si deux valeurs sont fournies, la première précisera la comportement pour le dépassement à l'extrêmité gauche de la ligne et la seconde indiquera le comportement du dépassement pour l'extrêmité droite de la ligne.
Chacune des valeurs se compose :
clip
, ellipsis
, fade
fade()
à laquelle on passe une valeur de type {{cssxref("<length>")}} ou {{cssxref("<percentage>")}} qui permet de contrôler la distance d'effacement<string>
.clip
''
) comme valeur pour cette propriété.ellipsis
'…'
, U+2026 Horizontal Ellipsis
) pour représenter le texte rogné. L'ellipse est affichée à l'intérieur de la boîte de contenu et réduit donc la quantité de texte affichée. S'il n'y a pas assez de place pour afficher l'ellipse, celle-ci est rognée.fade
{{experimental_inline}}fade( <length> | <percentage> )
{{experimental_inline}}0
sont ramenées à 0
. Les valeurs supérieures à la largeur de la boîte sont écrétées à la largeur de la boîte.<string>
{{experimental_inline}}p { width: 200px; border: 1px solid; padding: 2px 5px; /* Nécessaires pour text-overflow */ white-space: nowrap; overflow: hidden; } .overflow-visible { white-space: initial; } .overflow-clip { text-overflow: clip; } .overflow-ellipsis { text-overflow: ellipsis; } .overflow-string { /* Cette forme n'est pas prise en charge par la plupart des navigateurs. cf. la section Compatibilité ci-après */ text-overflow: " [..]"; }
<p class="overflow-visible">Lorem ipsum dolor sit amet, consectetur adipisicing elit.</p> <p class="overflow-clip">Lorem ipsum dolor sit amet, consectetur adipisicing elit.</p> <p class="overflow-ellipsis">Lorem ipsum dolor sit amet, consectetur adipisicing elit.</p> <p class="overflow-string">Lorem ipsum dolor sit amet, consectetur adipisicing elit.</p>
{{EmbedLiveSample('Exemples', 300, 220, '', 'Web/CSS/text-overflow')}}
Valeur CSS | direction: ltr |
direction: rtl |
||
---|---|---|---|---|
Résultat attendu | Résultat du navigateur | Résultat attendu | Résultat du navigateur | |
overflow:visible |
1234567890 |
1234567890
|
0987654321 |
1234567890
|
text-overflow: clip |
||||
text-overflow: '' |
12345 | 54321 | ||
text-overflow: ellipsis |
1234… | …4321 | ||
text-overflow: '.' |
1234. | .4321 | ||
text-overflow: clip clip |
123456 | 654321 | ||
text-overflow: clip ellipsis |
1234… | 6543… | ||
text-overflow: clip '.' |
1234. | 6543. | ||
text-overflow: ellipsis clip |
…3456 | …4321 | ||
text-overflow: ellipsis ellipsis |
…34… | …43… | ||
text-overflow: ellipsis '.' |
…34. | …43. | ||
text-overflow: ',' clip |
,3456 | ,4321 | ||
text-overflow: ',' ellipsis |
,34… | ,43… | ||
text-overflow: ',' '.' |
,34. | ,43. |
Spécification | État | Commentaires |
---|---|---|
{{SpecName('CSS4 UI', '#text-overflow', 'text-overflow')}} | {{Spec2('CSS4 UI')}} | Ajout des valeurs <string> et fade et de la fonction fade() . |
{{SpecName('CSS3 Overflow', '#text-overflow', 'text-overflow')}} | {{Spec2('CSS3 Overflow')}} | Définition initiale. |
Une version précédente de cette interface avait atteint le statut de Candidate Recommendation. Certaines fonctionnalités devaient être retirées et n'étaient pas listées parmi les fonctionnalités à risque, la spécification a donc été déchue au niveau Working Draft. Cela explique pourquoi les navigateurs ont implémenté cette propriété sans préfixe bien qu'elle ne soit pas une CR.
{{cssinfo}}
{{Compat("css.properties.text-overflow")}}