2010-05-17 3 views
1

J'ai un petit espace dans lequel j'aimerais écrire. Le problème est que si un mot long est entré, il s'écoule du côté parce qu'il n'y a pas d'espace.XHTML - Comment faire glisser un morceau de texte sur une nouvelle ligne ou envelopper sans y mettre d'espace?

Je pourrais faire un débordement: caché, mais ce n'est pas ce que je cherche. Idéalement, je voudrais que le mot passe à une nouvelle ligne avec un '-' avant.

Le mot est sur une ligne de son propre pour commencer, donc un
ne résoudra pas le problème.

Répondre

3

word-wrap:break-word en CSS fait cela (ok, sans - dans la nouvelle ligne), mais il y avait un certain navigateur émet quand je l'ai essayé, alors soyez prudent;).

La deuxième solution consiste à envelopper les lettres dans du texte (ou des paquets de 3 ou 5 lettres etc.) dans <span></span> pour qu'elles s'enroulent mais ne comportent aucun espace lors de l'ajustement de la ligne. Pour ajouter le trait d'union Vous pouvez ensuite utiliser jquery et rechercher des éléments ayant un certain décalage vers la gauche pour ajouter des traits d'union.

+0

word-wrap J'ai testé sur FF, Opera et Webkit, fonctionne AWESOME. En ce qui concerne les travées, elles ne fonctionneraient pas car la chaîne actuelle est importée de Twitter. – Henryz

+0

Peu importe. Cela peut être fait à la volée, même avec un peu de javascript. Mais je suis content que CSS soit suffisant. Mais voir l'IE. Autant que je m'en souvienne, cela ne fonctionnait pas dans les anciens FF et dans certains ou tous les IE – naugtur

+0

'word-wrap: break-word' casse les mots, au lieu de la césure appropriée. –

Questions connexes