web-dev-qa-db-fra.com

Comment faire pour que le texte apparaisse sur la ligne suivante au lieu de déborder?

J'ai un div de largeur fixe sur ma page qui contient du texte. Lorsque j'entre une longue chaîne de lettres, elle déborde. Je ne veux pas masquer le débordement. Je veux afficher le débordement sur une nouvelle ligne, voir ci-dessous:

<div id="textbox" style="width:400px; height:200px;">
dfssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssfddddddddddddddddddddddsdffffffffffffffffsdffffffffffffffffdfssssssssssssdf
</div>

Est-il possible de désactiver le débordement et de mettre le texte en débordement sur une nouvelle ligne ??? Twitter fait quelque chose comme ça, mais je n'arrive pas à comprendre avec CSS, il est possible qu'ils utilisent Javascript.

Quelqu'un peut-il aider avec cela?

79
user342391
Word-wrap: break-Word

Mais c'est CSS3 - http://www.css3.com/css-Word-wrap/ .

132
mikemerce

Il suffit d'ajouter

white-space: initial;

au texte, une ligne de texte apparaîtra automatiquement à la ligne suivante.

139
Pankaj Verma

Essayez le <wbr>tiquette - pas aussi élégante que la Word-wrap propriété que d’autres ont suggérée, mais c’est une solution efficace tant que tous les principaux navigateurs (lire IE) n’ont pas implémenté CSS3.

5
casablanca

Eh bien, vous pouvez coller un ou plusieurs "traits d'union doux" (&#173;) dans vos longues chaînes ininterrompues. Je doute que les anciennes IE versions traitent cela correctement, mais ce que supposé = faire est d'informer le navigateur des sauts de mots autorisés qu'il peut utiliser s'il le devait.

Maintenant, comment exactement choisiriez-vous où bourrer ces personnages? Cela dépend de la chaîne réelle et de sa signification, je suppose.

3
Pointy