Je sais qu'Internet Explorer a un style "retour à la ligne", mais j'aimerais savoir s'il existe une méthode permettant d'utiliser plusieurs navigateurs pour le faire avec du texte dans un div.
De préférence, CSS mais les extraits JavaScript fonctionneraient bien aussi.
edit: Ouais, se référant à de longues chaînes, Bravo les gens!
En lisant le commentaire original, rutherford recherche un texte multi-navigateur pour envelopper ininterromp (déduit de son utilisation de Word-wrap pour IE, conçu pour rompre les chaînes ininterrompues). .
/* Source: http://snipplr.com/view/10979/css-cross-browser-Word-wrap */
.wordwrap {
white-space: pre-wrap; /* CSS3 */
white-space: -moz-pre-wrap; /* Firefox */
white-space: -pre-wrap; /* Opera <7 */
white-space: -o-pre-wrap; /* Opera 7 */
Word-wrap: break-Word; /* IE */
}
J'ai utilisé cette classe un peu maintenant, et fonctionne comme un charme. (note: je n'ai testé que dans FireFox et IE)
La plupart des réponses précédentes ne fonctionnaient pas pour moi dans Firefox 38.0.5. Cela a fait ...
<div style='padding: 3px; width: 130px; Word-break: break-all; Word-wrap: break-Word;'>
// Content goes here
</div>
Documentation:
white-space: pre-wrap
La solution d'Aaron Bennet fonctionne parfaitement pour moi, mais j'ai dû supprimer cette ligne de son code -> white-space: -pre-wrap;
, car elle donnait une erreur. Le code de travail final est donc le suivant:
.wordwrap {
white-space: pre-wrap; /* CSS3 */
white-space: -moz-pre-wrap; /* Firefox */
white-space: -o-pre-wrap; /* Opera 7 */
Word-wrap: break-Word; /* IE */
}
merci beaucoup
Vous pouvez essayer de spécifier une largeur pour la div, que ce soit en pixels, en pourcentages ou en em, et à ce stade, la div restera cette largeur et le texte sera alors automatiquement renvoyé à l'intérieur de la div.
Comme David le mentionne, les DIV do enveloppent les mots par défaut.
Si vous faites référence à de très longues chaînes de texte sans espaces, ce que je fais est de traiter la chaîne côté serveur et d'insérer des plages vides:
thisIsAreallyLongStringThatIWantTo<span></span>BreakToFitInsideAGivenSpace
Ce n'est pas exact car il y a des problèmes de dimensionnement des polices et autres. L'option span fonctionne si la taille du conteneur est variable. S'il s'agit d'un conteneur de largeur fixe, vous pouvez simplement insérer des sauts de ligne.